grep使用:
1.參數說明
-a :將 binary 文件以text 文件的方式搜尋數據
-c :計算找到 '字符串'的次數
-i :忽略大小寫的不同
-n :順便輸出行號
-v :反向選擇,亦即顯示出沒有 '字符串'內容的那一行!
--color=auto :關鍵詞部分加上顏色
2.查出/etc/passwd 裏包含root的行
方式1
grep root /etc/passwd
方式2
cat /etc/passwd|grep root
3.顯示行號
cat /etc/passwd|grep -n root
4.反取
cat /etc/passwd|grep -v root
5.忽略大小寫
cat /etc/passwd|grep -i root
列子
取出不是root可以登錄的用戶
cat /etc/passwd|grep -inv root|grep -v nologin --color=auto
如果想給grep加上--color=auto 修改~/.bashrc加上 alias grep='grep --color=auto' source ~/.bashrc即可
6.搜索指定文件夾下包含某個字符串的(把包含的行顯示出來)
grep "install" /root/
遞歸搜索root 及其子目錄以及其字目錄的子目錄中包含install的行
grep -r "install" /root/
只顯示子目錄中包含install文件
grep -lr "install" /root/
7.使用正則
[a,b]兩者中選一個 如
[^a]不是a
[^a-z]不是a到z 同理[^0-9] [^A-Z]
以上要與^a以a開頭進行區分
空白行 ^$
2{5}-->22222
2{2,5}-->22 222 2222 22222
2{2,}-->22 222 22222 ...
8.grep擴展grep -e 或者 egrep :增加了額外的正則表達式元字符集
對於標準grep,如果在擴展元字符前面加\,grep會自動啓用擴展選項-E。
使用egrep 多行
grep "then\+" /root/Install_Centos_LNMP_v.0.1.sh
egrep "then+" /root/Install_Centos_LNMP_v.0.1.sh