Linux文本查找命令-grep

grep搜索命名的輸入文件(若是沒有命名文件,則搜索標準輸入)以查找包含與給定PATTERN匹配的行。默認狀況下,grep打印匹配的整行。
<!--more-->python

example1: 搜索一個文件,最普通模式linux

[root@aliyun-hk1 linux-shell-test]# grep hello grep1.sh
hello

example2:遞歸搜索一個目錄下的全部文件nginx

[root@aliyun-hk1 linux-shell-test]# grep python2 /etc/
grep: /etc/: Is a directory
[root@aliyun-hk1 linux-shell-test]# grep -r python2 /etc/
/etc/rpm/macros.python:  CFLAGS="%{optflags}" %{__python} %{py_setup} %{?py_setup_args} build --executable="%{__python2} %{py_shbang_opts}" %{?*}
/etc/rpm/macros.python:  if (string.starts(package, "python2-")) then
/etc/rpm/macros.python:    print("Provides: python2-"

example3:從一個標準輸入搜索關鍵字,從管道搜索正則表達式

[root@aliyun-hk1 linux-shell-test]# ps -ef|grep python
root       803     1  0 Feb28 ?        00:00:34 /usr/bin/python -Es /usr/sbin/tuned -l -P
root     25027 24873  0 21:34 pts/0    00:00:00 grep --color=auto python
[root@aliyun-hk1 linux-shell-test]#

example4: 搜索時忽略大小寫,使用-ishell

[root@aliyun-hk1 linux-shell-test]# grep Hello grep1.sh
[root@aliyun-hk1 linux-shell-test]# grep -i Hello grep1.sh
hello
[root@aliyun-hk1 linux-shell-test]# ps -ef|grep -i Python
root       803     1  0 Feb28 ?        00:00:34 /usr/bin/python -Es /usr/sbin/tuned -l -P
root     25054 24873  0 21:40 pts/0    00:00:00 grep --color=auto -i Python
[root@aliyun-hk1 linux-shell-test]#

example5: 搜索時排除某些關鍵字,使用-vide

[root@aliyun-hk1 linux-shell-test]# ps -ef|grep -i Python
root       803     1  0 Feb28 ?        00:00:34 /usr/bin/python -Es /usr/sbin/tuned -l -P
root     25063 24873  0 21:42 pts/0    00:00:00 grep --color=auto -i Python
[root@aliyun-hk1 linux-shell-test]# ps -ef|grep -i Python|grep -v grep
root       803     1  0 Feb28 ?        00:00:34 /usr/bin/python -Es /usr/sbin/tuned -l -P
[root@aliyun-hk1 linux-shell-test]#

example6: 搜索時使用正則表達式,-eui

grep –e "正則表達式" 文件名

example7: 搜索結果只返回匹配的文件名,-lcode

[root@aliyun-hk1 linux-shell-test]# grep -il Hello grep1.sh
grep1.sh

example8: 搜索結果只返回不匹配的文件名,-L遞歸

[root@aliyun-hk1 linux-shell-test]# grep -irL python grep1.sh
grep1.sh
[root@aliyun-hk1 linux-shell-test]# grep -irL Hello grep1.sh
[root@aliyun-hk1 linux-shell-test]#

example9: 結合find命令搜索log或者config文件文檔

[root@aliyun-hk1 linux-shell-test]# find / -name *.log|xargs grep -il error
/var/log/yum.log
/var/log/cloud-init.log
/var/log/nginx/access.log
/var/log/nginx/error.log
/usr/local/share/aliyun-assist/1.0.1.259/log/aliyun_assist_update.log
/usr/local/share/aliyun-assist/1.0.1.259/log/aliyun_assist_main.log
/usr/share/doc/libjpeg-turbo-1.2.90/change.log

example10: 搜索gz或tar.gz文件,使用zgrep​

[root@aliyun-hk1 linux-shell-test]# zgrep -ai hello grep1.tar.gz                              
echo1.sh                                                                                      
ustar   root                            root                                                  
hello                                                                                         
hello                                                                                         
                                                                                              
grep1.sh                                                                                      
ustar   root                            root                                                  
hello world                                                                                   
hEllo word                                                                                    
HEllo world                                                                                   
hellO sir                                                                                     
[root@aliyun-hk1 linux-shell-test]# zgrep -i hello grep1.sh.gz                                
hello world                                                                                   
hEllo word                                                                                    
HEllo world                                                                                   
hellO sir                                                                                     
[root@aliyun-hk1 linux-shell-test]#

example11: 更多參數請查看文檔,man grep

相關文章
相關標籤/搜索