文本三剑客之grep
接受正則表達式,按行匹配,將會過濾出匹配的所有行
格式:
grep? ?[OPTION]...? ? ?PATTERN? ? [FILE]...
可以看出,grep后可以同時接多個文件
選項OPTION:
--color=auto???????????????? 通常情況下grep過濾后不會有顏色區分,使用該選項添加顏色
-E????????????????? 支持擴展的正則表達式
-o????????????????? grep默認輸出匹配的行,使用該選項僅輸出匹配的關鍵詞
-v ??????????????? 反向匹配
-c ???????????????? 匹配行的數量,而不是匹配次數(一行之內有多個匹配,僅計數1)
-n ??????????????? 輸出行號
-i ???????????????? 忽略大小寫
-P????????????????? 支持perl的正則
-w???????????????? 把表達式作為單詞來查找,相當于正則中的"\<...\>"(...表示你自定義的規則)
-x????????????????? 被匹配到的內容和某行完全相同才能別過濾出來,相當于正則"^...$"
-m NUM??????? 只在前NUM行進行匹配,之后的所有行不再匹配
-q?????????? 不輸出匹配的字符串,而只是想知道是否能夠成功匹配(通過返回值)
-a ???????????????? 搜索二進制文件
-b 通常配合-o選項使用,打印出匹配行的字節偏移量(注意是行的字節偏移量,不是關鍵詞)
-l 在多個文件中搜索匹配文本,找出位于哪個文件,僅會輸出文件列表(不在輸出匹配行)
-L 和-l相反,列出不匹配的文件列表
-r和-R? ??在某個目錄中搜索匹配的模式,且遞歸進行
-e ? ?匹配多個模式:$ grep? ? ?-e "pattern1"? ? -e "pattern2"
-f? pattern_file??????????? 在文件中指定多個樣式,每個樣式一行,也可匹配多個模式
-Z ? ?輸出每個匹配行或文件列表(-l或-L的輸出)時,使用null(\0)作為文件分隔,而不是默認的\n
--include? *.{c,cpp}??????????? 僅搜索以.c或.cpp結尾的文件
--exclude? "readme.txt" ?????? ? ? 在除readme.txt之外的文件中進行搜索
--exclude-dir? DIR? ? ? ? ? ? ? ? ? ? ? ? ? ?排除某個目錄,不進行搜索
--exclude-from? FILE? ? ? ? ? ? ? ? ? ? ? ?從文件中讀取要排除的文件列表
-A? n? 輸出匹配行之后的n行
-B? n? 輸出匹配行之前的n行
-C? n? 輸出匹配行之前及之后各n行
示例:?
[root@slave1 ~]# alias
alias egrep='egrep --color=auto'
alias fgrep='fgrep --color=auto'
alias grep='grep --color=auto' #
?
egrep擴展
egrep在grep的基礎上增加了更多的元字符。但是egrep不允許使用\(\),\{\},因為egrep本身就支持擴展的正則表達式
egrep使用的正則表達式元字符
??
轉載于:https://www.cnblogs.com/wyzhou/p/9313800.html
創作挑戰賽新人創作獎勵來咯,堅持創作打卡瓜分現金大獎總結
以上是生活随笔為你收集整理的文本三剑客之grep的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: iOS 获取手机信息
- 下一篇: sql语句优化之not in