動機
整理常用的grep
match
一般都是用regex去match一部分的字
- pat當成字串:
grep -F- 可以當成notepad的Ctrl+F
- regex不想加backslash:
egrep - 忽略大小寫:
grep -i - 整行要match:
grep -x,--line-regexp - 只match看單字:
grep -w, --word-regexp- 像pat給test
- testfrd不會match
- ,test’會match,因為有符號隔開
- 像pat給test
show
- 前i行,後j行都要看:
grep -A i -B j - 前後各k行:
grep -C k - 只印沒match的:
grep -v - 印行號:
grep -n - 印檔名:
grep -H- 不印:
-h
- 不印:
- 不要印任何東西:
grep -q- 通常用在if作條件判斷的時候
search
- 不要match binary:
grep -I - 找所有資料夾的所有檔案:
grep -r-R也是遞迴,但會follow symbol link- 找code在哪個檔案:
grep -Irn
stream
- 如果對面是stream:
grep --line-buffered- 像是log有很多東西混在一起的話
tail -f /var/log/some.log | grep --line-buffered "srv-name"
- 像是log有很多東西混在一起的話