linux(四十)文件和目录相关命令grep

简介: linux(四十)文件和目录相关命令grep

linux中的grep命令的功能是查找,就是匹配你想找的文件内容。这里要注意一下,仅支持匹配,不支持替换。


1:语法格式:


grep [OPTIONS] PATTERN [FILE...]


grep [OPTIONS] [-e PATTERN | -f FILE] [FILE...]


grep 支持不同的匹配模式,比如默认的 BRE 模式,增强型的 ERE 模式,还有更强悍的 PRE 模式。普通情况下使用默认的 BRE(basic  regular  expression) 模式就可以了,这种方式的特点是支持的正则表达式语法有限。如果需要更进一步的正则表达式语法支持,可以使用 ERE(extended regular expression) 模式。如果要使用复杂的正则表达式语法,可以使用 PRE 模式,它支持 Perl 语言的正则表达式语法。

 

2:常用参数


--help


-V, --version


-G, --basic-regexp        BRE 模式,也是默认的模式


-E, --extended-regexp  ERE 模式


-P, --perl-regexp           PRE 模式


-F, --fixed-strings          指定的模式被解释为字符串


-i 忽略大小写


-o 只输出匹配到的部分(而不是整个行)


-v 反向选择,即输出没有没有匹配的行


-c 计算找到的符号行的次数


-n 顺便输出行号


-r 递归查找

 

3:示例


我这里只能给出简单的示例,和正则配合的部分,后期我看看正则,再补充。


(1):-i:忽略大小写

[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -i A total.txt
1234567sdfdsfkjlxzscjlkjfolijasu
asjoidjuoaisdoaisdas
ah
jsdoljuasoidjoaisdja
jasoidjupoasdjipoa
as
sad
asd
asdas
asd
asd
asd
zxsdfas
xcvasd

 

(2):-n:输出行号

[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -in A total.txt
1:1234567sdfdsfkjlxzscjlkjfolijasu
3:asjoidjuoaisdoaisdas
5:ah
7:jsdoljuasoidjoaisdja
9:jasoidjupoasdjipoa
11:as
13:sad
16:asd
18:asdas
21:asd
24:asd
28:asd
31:zxsdfas

 

(3):-v:反向选择

grep -ivn A test.txt
[root@iZuf60ynur81p6k0ysvtneZ opt]# grep -ivn A test.txt
1:这是我在创建文件的时候输入的内容
2:
3:这是文件内容结尾
4:
5:这是我追加的内容呀
6:STOP
7:
8:这是我第二次追加的内容啊
9:
[root@iZuf60ynur81p6k0ysvtneZ opt]#

(4):-r:递归查找

grep -r firefox /usr/bin/
[root@VM_0_4_centos bin]# grep -r firefox /usr/bin/
/usr/bin/firefox:## $ firefox
/usr/bin/firefox:MOZ_FIREFOX_FILE="firefox"
/usr/bin/firefox:if [ ! -r $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
/usr/bin/firefox:    if [ ! -r $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE ]; then
/usr/bin/firefox:     echo "Error: $MOZ_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
/usr/bin/firefox:         echo "       $SECONDARY_LIB_DIR/firefox/$MOZ_FIREFOX_FILE not found"
/usr/bin/firefox:MOZ_DIST_BIN="$MOZ_LIB_DIR/firefox"
/usr/bin/firefox:export MOZ_APP_LAUNCHER="/usr/bin/firefox"

其他的正则相关的命令示例后期补充……

 

有好的建议,请在下方输入你的评论。


目录
相关文章
|
1月前
|
Linux 网络安全 数据安全/隐私保护
Linux 超级强大的十六进制 dump 工具:XXD 命令,我教你应该如何使用!
在 Linux 系统中,xxd 命令是一个强大的十六进制 dump 工具,可以将文件或数据以十六进制和 ASCII 字符形式显示,帮助用户深入了解和分析数据。本文详细介绍了 xxd 命令的基本用法、高级功能及实际应用案例,包括查看文件内容、指定输出格式、写入文件、数据比较、数据提取、数据转换和数据加密解密等。通过掌握这些技巧,用户可以更高效地处理各种数据问题。
91 8
|
1月前
|
监控 Linux
如何检查 Linux 内存使用量是否耗尽?这 5 个命令堪称绝了!
本文介绍了在Linux系统中检查内存使用情况的5个常用命令:`free`、`top`、`vmstat`、`pidstat` 和 `/proc/meminfo` 文件,帮助用户准确监控内存状态,确保系统稳定运行。
251 6
|
6天前
|
Linux Shell 网络安全
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
本指南介绍如何利用 HTA 文件和 Metasploit 框架进行渗透测试。通过创建反向 shell、生成 HTA 文件、设置 HTTP 服务器和发送文件,最终实现对目标系统的控制。适用于教育目的,需合法授权。
33 9
Kali Linux系统Metasploit框架利用 HTA 文件进行渗透测试实验
|
13天前
|
Linux Shell
Linux 10 个“who”命令示例
Linux 10 个“who”命令示例
42 14
Linux 10 个“who”命令示例
|
2天前
|
Ubuntu Linux
Linux 各发行版安装 ping 命令指南
如何在不同 Linux 发行版(Ubuntu/Debian、CentOS/RHEL/Fedora、Arch Linux、openSUSE、Alpine Linux)上安装 `ping` 命令,详细列出各发行版的安装步骤和验证方法,帮助系统管理员和网络工程师快速排查网络问题。
52 20
|
3天前
|
网络协议 Linux 应用服务中间件
kali的常用命令汇总Linux
kali的常用命令汇总linux
22 7
|
22天前
|
Linux 数据库
Linux中第一次使用locate命令报错?????
在Linux CentOS7系统中,使用`locate`命令时出现“command not found”错误,原因是缺少`mlocate`包。解决方法是通过`yum install mlocate -y`或`apt-get install mlocate`安装该包,并执行`updatedb`更新数据库以解决后续的“can not stat”错误。
31 9
|
21天前
|
监控 网络协议 Linux
Linux netstat 命令详解
Linux netstat 命令详解
|
27天前
|
运维 监控 网络协议
运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面
本文介绍了运维工程师日常工作中最常用的20个Linux命令,涵盖文件操作、目录管理、权限设置、系统监控等方面,旨在帮助读者提高工作效率。从基本的文件查看与编辑,到高级的网络配置与安全管理,这些命令是运维工作中的必备工具。
110 3
|
1月前
|
Linux Python
Linux 中某个目录中的文件数如何查看?这篇教程分分钟教会你!
在 Linux 系统中,了解目录下文件数量是常见的需求。本文介绍了四种方法:使用 `ls` 和 `wc` 组合、`find` 命令、`tree` 命令以及编程实现(如 Python)。每种方法都附有详细说明和示例,适合不同水平的用户学习和使用。掌握这些技巧,可以有效提升系统管理和日常使用的效率。
339 6