鉴于grep命令参数之多,功能之强大,我这里仅仅提及几个常用的使用方法。
一、我想搜索指定文件中的字符串“333”;在终端敲入命令:root@linux-VirtualBox:~# grep "333" a.txt b.txt
a.txt:333
b.txt:333
b.txt:333
二、我想搜索当前文件夹中的所有文件中的“333”;在终端敲入命令:root@linux-VirtualBox:~# grep "333" *
a.txt:333
b.txt:333
b.txt:333
匹配到二进制文件 myinstall.run
三、我想搜索当前目录下的已及某些指定目录下的文件中的“333”;在终端中输入:root@linux-VirtualBox:~# grep "333" * /root/test/*
a.txt:333
b.txt:333
b.txt:333
匹配到二进制文件 myinstall.run
/root/test/c.txt:333
/root/test/c.txt:333
/root/test/c.txt:333
四、我想搜索当前目录及所有子目录:则在终端输入:root@linux-VirtualBox:~# grep "333" * -r
a.txt:333
b.txt:333
b.txt:333
匹配到二进制文件 myinstall.run
匹配到二进制文件 qq图标/111P42326-0.png
匹配到二进制文件 qq图标/201013213446277.png
匹配到二进制文件 qq图标/6fa425e1fb088dd2b50c87917a0e485a.png
test/c.txt:333
test/c.txt:333
test/c.txt:333
匹配到二进制文件 test/服务器/服务器2/arm_fwq
五、grep 命令与管道的结合
比如:root@linux-VirtualBox:~# cat b.txt
111
222
333
333555
333
我们在终端输入:root@linux-VirtualBox:~# cat b.txt | grep -v "555"
111
222
333
333
看到了吧,有333且有555的那行不见了。
管道常用来对东西进行过滤,用在两个命令之间,把前一个命令的输出作为后一个命令的输入。
其他更多