分享grep命令的几个关键词过滤使用

Linux idb 318℃ 0评论

分享grep命令的几个关键词过滤使用

查找某个文件中的关键字(如果需要从多个文件中,查找相同的关键字,可以直接把相关文件路径在后面补充,用空格隔开。查找全部文件可以用星号“*”)

[root@myhost conf]# grep 8080 server.xml
         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
               port="8080" protocol="HTTP/1.1"

可能还会和-i和-e这两个参数一起使用:【-i】表示忽略大小写;【-e】可以匹配的多个关键词。

使用-n参数,在文件中查找指定模式并显示匹配行的行号

[root@myhost conf]#  grep -n 8080 server.xml
67:         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
75:               port="8080" protocol="HTTP/1.1"

使用-v参数输出不包含指定模式的行

[root@myhost conf]#  grep -v  8080 server.xml
67:         Define a non-SSL/TLS HTTP/1.1 Connector on port 8080
75:               port="8080" protocol="HTTP/1.1"

使用 ^ 符号输出所有以某指定模式开头的行(使用$字符,用于指定一行或者一个单词的结尾,如bash$,表示以bash结尾的)

[root@myhost conf]# grep ^root /etc/passwd
root:x:0:0:root:/root:/bin/bash

使用 -r 参数递归地查找特定模式

[root@myhost conf]# grep -r root /etc/

使用 -f 用文件指定待查找的关键词,每个关键词独立一行。

[root@mydb tmp]# vi grep.test 
abcDef
deFabC
abcDefgrep
book
test
9air
books

[root@mydb tmp]# vi grep_word
book
t
f$

[root@mydb tmp]# grep -f grep_word grep.test 
abcDef
book
test
books

使用 -c 参数计算模式匹配到的数量

[root@mydb tmp]# grep  -f grep_word grep.test|wc -l
4

##省去【wc -l】的麻烦。

[root@mydb tmp]# grep -c -f grep_word grep.test
4

转载请注明:猫头鹰工作室 » 分享grep命令的几个关键词过滤使用

喜欢 (0)or分享 (0)
发表我的评论
取消评论

表情

Hi,您需要填写昵称和邮箱!

  • 昵称 (必填)
  • 邮箱 (必填)
  • 网址