Linux grep命令:查找文件中符合条件的字符串
Linux grep命令 功能描述
使用grep命令可以查找文件内符合条件的字符串。
Linux grep命令 语法
grep [选项] [查找模式] [文件]
命令中各选项的含义如下表所示。
Linux grep命令 示例
在文件kkk中搜索匹配字符“test file”
[root@rhel ~]# cat kkk
akkk
test file
oooo
ppppp
//查看文件kkk的内容
[root@rhel ~]# grep 'test file' kkk
test file
在文件kkk中搜索匹配字符“es”,并且加上行号输出
[root@rhel ~]# grep -n es kkk
2:test file
显示所有以d开头的文件中包含“test”的行数据内容
[root@rhel ~]# cat d1 1
test1
[root@rhel ~]# cat d2 2
test2
//查看文件d1和d2的文件内容
[root@rhel ~]# grep 'test' d*
d1:test1
d2:test2
在文件aa中显示所有包含至少有5个连续小写字符的行数据内容
[root@rhel ~]# cat aa
aaaaa
bbb
AAAAA
BBB
aaaaaa
//查看文件aa的文件内容
[root@rhel ~]# grep '[a-z]\{5\}' aa
aaaaa
aaaaaa
查找sshd进程信息
[root@rhel ~]# ps -ef|grep sshd
root 1665 1 0 00:45? 00:00:00/usr/sbin/sshd
root 2573 1665 0 00:48? 00:00:00 sshd:root@pts/1
root 2870 2578 0 01:01 pts/1 00:00:00 grep sshd
//在这里结合管道方式查找sshd进程信息
在/root/aa文件中找出以b开头的行内容
[root@rhel ~]# grep ^b /root/aa
bbb
在/root/aa文件中输出不是以b开头的行内容
[root@rhel ~]# grep -v ^b /root/aa
aaaaa
AAAAA
BBB
aaaaaa
在/root/kkk文件中输出以le结尾的行内容
[root@rhel ~]# grep le$ /root/kkk
test file
在/root/kkk文件中显示包含es字符或kk字符的行内容
[root@rhel ~]# grep -E ''es|kk'' /root/kkk
akkk
test file