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