小知识,大挑战!本文正在参与“程序员必备小知识”创作活动。
Linux的grep命令是一种强大的文本搜索工具,用于查找文件里符合条件的字符串,可以根据用户指定的“模式”对文本逐行进行匹配检查,打印匹配到的行。
grep命令
语法格式
grep [options][pattern][file]
参数选项
[options]主要参数:
- -A <显示行数>:显示符合条件的行及该行之后指定行数的内容
- -B <显示行数>:显示符合条件的行及该行之前指定行数的内容
- -C <显示行数>:显示符合条件的行及该行之前后指定行数的内容
- -c:输出匹配行的计数
- -e <范本样式>: 指定字符串做为查找文件内容的样式
- -E:将样式为延伸的正则表达式来使用
- -h:查询多文件时不显示文件名
- -i:不区分大小写
- -l:查询多文件时只输出包含匹配字符的文件名
- -n:显示匹配行及行号
- -o:仅显示匹配到的字符串
- -s:不显示不存在或无匹配文本的错误信息
- -v:显示不包含匹配文本的所有行
pattern正则表达式
特殊字符:
.:匹配任意单个字符*:匹配前面的字符任意次\:转义字符,忽略正则表达式中特殊字符的原有含义^:匹配正则表达式的开始行$: 匹配正则表达式的结束行\<:从匹配正则表达式的行开始\>:到匹配正则表达式的行结束[]:匹配单个字符,如[A]即A符合要求[ - ]:范围,如[A-Z],即A、B、C一直到Z都符合要求
范围:
.*:任意长度的任意字符?:匹配其前面的字符0或1次+:匹配其前面的字符至少1次{}:{m}、{m,n}、{m,}、{,n}分别为匹配前面的字符m次、m到n次、至少m次、至多n次
egrep 和 fgrep
egrep命令
egrep等价于grep -E
fgrep命令
fgrep不支持正则表达式搜索,不够灵活,但是查询速度比grep命令快,想找什么跟什么就可以。
例如,在test.txt文件中搜索字符串"tigeriaf":
fgrep tigeriaf test.txt
原创不易,如果小伙伴们觉得有帮助,麻烦点个赞再走呗~
最后,感谢女朋友在工作和生活中的包容、理解与支持 !