Linux下grep、cut、sed命令簡要說明

1、grep能夠接受正則表達(dá)式和通配符。


grep match_pattern filename


一個(gè)grep命令可以對(duì)多個(gè)文件進(jìn)行搜索:grep "match_object" file1 file2 file3


用 - - color 選項(xiàng)可以在輸出行中重點(diǎn)標(biāo)記出匹配到的單詞:grep word file - -color=auto


grep 通常將match_pattern視為通配符。如果使用正則表達(dá)式,需要添加-E選項(xiàng),這意味著使用擴(kuò)展正則表達(dá)式,也可以使用默認(rèn)允許正則表達(dá)式的grep命令-----egrep。


grep -E "[a-z]+"? 等價(jià)于 egrep "[a-z]+"




為了只輸出文件中匹配到的文本部分,可以使用選項(xiàng):-o


echo this is a line. | grep -o -E "[a-z]+\."



要想打印除包含match_pattern的行之外的所有行,可以使用:-v。 選項(xiàng)-v可以將匹配到的結(jié)果進(jìn)行反轉(zhuǎn)。


grep -v match_pattern file




1、遞歸搜索文件


如果需要在多級(jí)目錄中對(duì)文件進(jìn)行遞歸搜索,可以使用: grep “text”? .? -R -n;命令中的“.”,表示指定了當(dāng)前目錄。


2、忽略樣式中的大小寫


選項(xiàng)-i可以使匹配樣式不考慮字符的大小寫,例如:


echo hello world | grep -i "HELLO"


3、用grep匹配多個(gè)樣式


可以命令行參數(shù)選項(xiàng)-e來指定多個(gè)匹配樣式。


grep -e "pattern1" -e "pattern2"




為了指明輸入的文件名是以0值字節(jié)(\0)作為終止符,我們應(yīng)該在xargs中使用-0.


grep “test” file* -lZ? | xargs -0 rm?


cut命令用于按列切分文件


cut -d ";" -f 2,3 filename? -d用來指定字段的定界符。


cut命令有一些選項(xiàng)可以將一串字符作為列來顯示。


-b表示字節(jié);-c表示字符;-f表示定義字段。


sed命令主要是進(jìn)行文本替換的。sed可以替換給定文件中的字符串。它可以利用正則表達(dá)式進(jìn)行匹配。


sed 's/pattern/replace_string/'? file? 或者? cat file | sed ‘s/pattern/repace_string/’ file


使用-i選項(xiàng),可以將替換結(jié)果應(yīng)用于原文件。


sed? -i? 's/pattern/replace_string/'? file




如果需要替換所有內(nèi)容,我們需要在命令尾部加上參數(shù)g。其方法如下:


sed 's/pattern/replace_string/g'? file? 后綴g意味著sed會(huì)替換每一處匹配。




sed移除空白行,空白和可以用正則表達(dá)式^$匹配。


sed '/^$/d' file



?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容