Linux命令-grep指令

Grep指令

ubuntu下:

Alt + F2  -> gnome-terminal -> sudo su -> 输入密码   切换到root

grep常用的指令使用

 

1、基本输出:

root@ubuntu:/home/lanyyyy# last -n 3 | grep lanyyyy

lanyyyy  pts/13       :0               Wed Oct 19 08:53   still logged in   

lanyyyy  :0           :0               Wed Oct 19 08:52   still logged in

 

2、在目录下搜索包含特定字符串的文件:

root@ubuntu:/home/lanyyyy# grep 'lanyyyy' /home/lanyyyy/*

grep: /home/lanyyyy/Desktop: Is a directory

grep: /home/lanyyyy/Documents: Is a directory

grep: /home/lanyyyy/Downloads: Is a directory

/home/lanyyyy/last.txt:lanyyyy  pts/0        :0               Sun Oct 16 08:24   still logged in   

/home/lanyyyy/last.txt:lanyyyy  pts/0        :0               Sun Oct 16 08:24 - 08:24  (00:00)    

grep: /home/lanyyyy/Music: Is a directory

其它显示略……

搜索/home/lanyyyy目录下包含lanyyyy字符串的文件。

这个方式只能搜索该目录下的文件,而不能搜索目录。

 

3、递归在文件中查找特定字符串:

root@ubuntu:/home/lanyyyy# grep -r "lanyyyy" /home/lanyyyy/

/home/lanyyyy/last.txt:lanyyyy  pts/0        :0               Sun Oct 16 08:24   still logged in   

/home/lanyyyy/last.txt:lanyyyy  pts/0        :0               Sun Oct 16 08:24 - 08:24  (00:00)    

/home/lanyyyy/.config/gtk-3.0/bookmarks:file:///home/lanyyyy/Documents

/home/lanyyyy/.config/gtk-3.0/bookmarks:file:///home/lanyyyy/Music

其它显示略……

第二条和第三条是有明显区别的。加上末尾的*号,代表一个文件,但是不加*号,则表示一个目录。

 

4、zgrep的区别:

Zgrep可以抓取压缩文件的内容,这样的话,就可以不必先去解压然后才使用grep

root@ubuntu:/home/lanyyyy# zgrep "dhcp" /var/log/*

/var/log/bootstrap.log:Preparing to unpack .../isc-dhcp-client_4.2.4-7ubuntu12_amd64.deb ...

/var/log/dmesg:[   24.572726] audit: type=1400 audit(1477233183.470:6): apparmor="STATUS" operation="profile_load" profile="unconfined" name="/usr/lib/NetworkManager/nm-dhcp-client.action" pid=560 comm="apparmor_parser"

/var/log/dmesg:[   24.587344] audit: type=1400 audit(1477233183.486:8): apparmor="STATUS" operation="profile_replace" profile="unconfined"

其它略

有了zgrep,我们抓取内容就会方便的。


 

参考资料:

Zgrep文档:https://linux.die.net/man/1/zgrep


猜你喜欢

转载自blog.csdn.net/zhaole524/article/details/52865272