Linux三劍客的基本使用

2021-09-26 04:12:06 字數 2407 閱讀 2345

linux命令三劍客,awk,最擅長取列,sed最擅長取行,grep擅長過濾,是linux運維人員必會的三個命令。

:awk是一種優良的文字處理工具,linux及unix環境中現有的功能最強大的資料處理引擎之一。這種weinberger和brian

kernighan三個人的姓的縮寫。 awk 程式指令碼

pattern pattern 即模式,pattern用來查詢匹配的record 1).begin

會在讀入第一條record前被執行,而且只執行一次 2).end 會在所有record讀取完畢執行,也只會執行一次 3)./regular

expression/ 正規表示式,匹配輸入的record 4).expression

如果表示式的值為非零(如果是數字)或非空(如果是字串),則模式匹配 5).begpat, endpat

匹配範圍從開始模式begpat到結束模式endpat 6).pattern 為空,那代表匹配每一條record

awk陣列

awk陣列的索引可以是數字,字串,不必是連續的正整數。數字也是被當成字串儲存的。

awk可以使用管道,也可以將管道輸入看做檔案

,可以使用-來代替some_command | awk -f 『program』 file - file2 。

**命令格式

sed [options] 『command』 file(s)

sed [options] -f scriptifile file(s)

常用引數

-e #以指定的指令來處理輸入的文字檔案

-n #取消預設輸出(如果和p命令同時使用只會列印發生改變的行)

-h #幫助

-v #顯示版本資訊

a\ #在當前行下面插入文字

i\ #在當前行上面插入文字

c\ #把選定的行改為新的文字

d #刪除,刪除選擇的行

d #刪除模板塊的第一行

s #替換指定字元

h #拷貝模板塊的內容到記憶體中的緩衝區

h #追加模板塊的內容到記憶體中的緩衝區

g #獲得記憶體緩衝區的內容,並替代當前模板塊中的文字

g #獲得記憶體緩衝區的內容,並追加到當前模板塊文字的後面

sed 例項

(1)替換 1.txt文字中word為study,**如下

sed 's/word/study/g 』 1. txt

(2)列印 1. txt文字第一行至第三行,**如下

sed -n 『1,3p』 1.txt

(3)列印 1.txt文字中第一行與最後一行,**如下

sed -n 『1p;$p』 1.txt

(4)刪除 1.txt第一行至第三行、刪除匹配行至最後一行,**如下

sed 『1,3d』 1.txt

sed 『/***/, $d』 1.txt

(5)把檔案第三行替換成「bbb」

sed 『3cbbb』 b.txt

(6)刪除空行

sed 『/^ $/d』 passwd > c.txt

常用引數選項

-a 不要忽略二進位制

-a 除了顯示符合範本樣式的那一行

-c計算符合範本樣式的列數

-d當指定要查詢的目錄而非檔案時,必須使用這項引數,否則grep命令將回報資訊並停止動作。

-e指定字串作為查詢檔案內容的範本樣式。

-e將範本樣式為延伸的普通表示法來使用,意味著使用能使用擴充套件正規表示式。

-w 只顯示全字符合的列。

-x 只顯示全列符合的列。

-y 此引數效果跟「-i」相同。

-o 只輸出檔案中匹配到的部分。

常用例項

多個檔案搜尋

grep 「match_pattern」 file_1 file_2 file_3

grep 「match_pattern」 file_*

#反向搜尋

grep -v 「match_pattern」 file_name

#標記匹配顏色

grep 「match_pattern」 file_name --color=auto

#搜尋本目錄及子目錄中所有檔案

grep 「text」 . -r

搜尋檔案中排除,或包含指定檔案

grep 「main()」 . -r --include *.

grep 「main()」 . -r --exclude 「readme」

靜默執行。不會輸出任何資訊,如果命令執行成功返回0,失敗則返回非0值。一般用於條件測試。

grep -q 「test」 filename

列印匹配,之前或之後的行

grep 「5」 -a 3 # 列印匹配結果行之前3行

grep 「5」 -b 3 # 列印匹配結果行之後3行

grep 「5」 -c 3 # 列印匹配結果行之前和之後各3行

Linux命令三劍客

grep的簡單使用 grep的主要作用 文字搜尋工具,根據使用者指定的 模式 對目標文字逐行進行匹配檢查 列印匹配到的行 grep的工作模式 由正規表示式字元及文字字元所編寫的過濾條件 grep的用法 grep options pattern file options v 顯示不被pattern匹配...

Linux三劍客與管道使用

什麼是管道 linux提供管道符 將兩個命令隔開,管道符左邊命令的輸出就會作為管道符右邊命令的輸入 示例 echo hell0 1234 grep hello 正規表示式就是記錄文字規則的 舉例hi單詞後面有lucy單詞 hi 123wo lucy 321 bhi b.lucy b 以0開頭,然後兩...

文字三劍客

檔案萬用字元和正規表示式 文字過濾工具grep linux系統中,一切皆檔案。強大的文字編輯和處理工具便必不可少了,在linux系統中,有文字處理三劍客 grep,sed,awk。在進行介紹三大工具前,我們先總結一下檔案萬用字元和正規表示式。檔案萬用字元主要就是對檔案的查詢進行檔名的模糊查詢,而正規...