動機
整理常用的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有很多東西混在一起的話