在文件中搜索模式
grep [options] pattern [file-list]
参数
pattern为正则表达式,file-list为grep要搜索的普通文本文件的路径名列表
选项
-c 只显示每个文件中包含匹配模式的行数
-v 显示不包含匹配模式的行
-i 忽略大小写
-a 在二进制文件中,以文本文件的方式搜索数据
-o 仅显示出匹配regexp的内容(用户统计出现在文件中的次数)
-n 匹配的内容在其行首显示行号
-E 扩展的grep,即egrep
-color=auto 以特定颜色高亮显示匹配关键字
-A after的意思, 显示匹配字符串及其后n行的数据
-B before, 显示匹配字符串及其前n行的数据
-C context 显示匹配字符串及其前后各num行
-w 接单词搜索,相当于\b。
示例
原文件
1 $ cat testa 2 aaabb 3 bbbcc 4 ff-ff 5 cccdd 6 dddaa 7 $ cat testb 8 aaaaa 9 bbbbb 10 ccccc 11 ddddd 12 $ cat testc 13 AAAAA 14 BBBBB 15 CCCCC
grep
1 $ grep bb testa 2 aaabb 3 bbbcc
在testa中搜索包含字符串bb的行
grep -v
1 $ grep -v bb testa 2 ff-ff 3 cccdd 4 dddaa
在testa中搜索不包含匹配字符串的行
grep -n
1 $ grep -n bb testa 2 1:aaabb 3 2:bbbcc
显示匹配行的行号
grep *
1 $ grep bb * 2 testa:aaabb 3 testa:bbbcc 4 testb:bbbbb
搜索多个文件中的匹配项
grep -i
1 $ grep -i bb * 2 testa:aaabb 3 testa:bbbcc 4 testb:bbbbb 5 testc:BBBBB 6 $ grep -i BB * 7 testa:aaabb 8 testa:bbbcc 9 testb:bbbbb 10 testc:BBBBB
不区分大小写匹配
grep -c
1 $ grep -c bb * 2 testa:2 3 testb:1 4 testc:0
只显示每个文件中匹配的行数
时间: 2024-10-16 12:01:47