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

2023年 10月 11日 57.5k 0

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"

 

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

 

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

相关文章

服务器端口转发,带你了解服务器端口转发
服务器开放端口,服务器开放端口的步骤
产品推荐:7月受欢迎AI容器镜像来了,有Qwen系列大模型镜像
如何使用 WinGet 下载 Microsoft Store 应用
百度搜索:蓝易云 – 熟悉ubuntu apt-get命令详解
百度搜索:蓝易云 – 域名解析成功但ping不通解决方案

发布评论