grep,sed,awk常見應用及總結

2022-07-25 11:48:09 字數 2690 閱讀 5370

linux 操作文字的三大利器分別是 grep、sed 、awk,簡稱三劍客。

大師兄 awk:最擅長取列;二師兄 sed:最擅長取行;三師兄 grep:最擅長過濾。

grep root /etc/passwd =cat /etc/passwd |grep root

-n 顯示行數

--color 高亮顯示關鍵字

-v 查詢關鍵字以外的內容

-a3 檢視關鍵字後3行的內容 after

-b2 檢視關鍵字前2行的內容 before

grep是查詢匹配條件的行,find是搜尋匹配條件的檔案。

[root@centos8 test]# grep "

energywise

" * #在當前目錄搜尋帶'energywise'行的檔案。aa.txt:energywise

[root@centos8 test]# grep -r "

energywise

" * #在當前目錄及其子目錄下搜尋'energywise'行的檔案。aa.txt:energywise

[root@centos8 test]# grep -r -l "

energywise

" * #在當前目錄及其子目錄下搜尋'energywise'行的檔案,但是不顯示匹配的行,只顯示匹配的檔案。aa.txt

動作說明: [n1[,n2]]

function n1, n2 :不見得會存在,一般代表『選擇進行動作的行數』,舉例來說,如果我的動作是需要在 10 到 20 行之間進行的,則『 10,20[動作行為] 』

function:

c :取代, c 的後面可以接字串,這些字串可以取代 n1,n2 之間的行!

d :刪除,因為是刪除啊,所以 d 後面通常不接任何咚咚;

p :列印,亦即將某個選擇的資料印出。通常 p 會與引數 sed -n 一起執行~

s :取代,可以直接進行取代的工作哩!通常這個 s 的動作可以搭配正規表示法!例如 1,20s/old/new/g 就是啦!

只要刪除第 2 行

nl /etc/passwd | sed '

2d'

要刪除第 3 到最後一行

nl /etc/passwd | sed '

3,$d

'

在第二行後(亦即是加在第三行)加上123字樣!

nl /etc/passwd | sed '

2a 123

'

在第二行前面加上123字樣!

nl /etc/passwd | sed '

2i 123

'

將第二行到第五行的內容替換為   no 2-5 number

nl /etc/passwd | sed '

2,5c no 2-5 number

'

輸出第5行和第7行的內容

nl /etc/passwd | sed -n '

5,7p

'

(刪除指定行)刪除/etc/passwd所有包含root的行,其他行輸出

nl /etc/passwd | sed  '

/root/d

'

多個命令同時執行:刪除第3行到最後的內容,並把123改為root

sed -e '

3,$d

' -e '

s/123/root/g

' test.txt

修改匹配內容

sed -e "

s#匹配內容#修改內容#g

"檔名 測試

sed -i "

s#匹配內容#修改內容#g

"檔名 修改

[root@centos8 test]# sed -e '

s#energywise#boxiaoyuan#g

'aa.txt

boxiaoyuan

[root@centos8 test]# sed -i '

s#energywise#boxiaoyuan#g

'aa.txt

[root@centos8 test]# cat aa.txt

boxiaoyuan

格式:

awk [options] '

'

常用引數:

cat /etc/passwd |awk  -f ':'

''cat /etc/passwd |awk -f ':'

'begin end

'awk -f: '

/root/

' /etc/passwd

$0 代表整行,$1 代表第 1 段,$2 代表第 2 段,以此類推,$nf 代表最後乙個字段,多個字段直接用逗號隔開。

awk 變數:

關係運算模式:

awk -f '#'

'nf==5

' test

如果行的分段數量為5 的話,進行列印操作,其他的類似,如 nf>2,nf<4,$1==1234 等都是判斷條件。

awk -f '#'

'nf>=4 && nf<=5

' test

grep sed awk三劍客應用

grep sed awk被稱為linux中的 三劍客 功能特點 grep適合查詢功能 sed適合取行和替換 awk適合取分隔後的列 下面對這3個命令進行乙個實踐,另附加正規表示式。1 grep檢視檔案中是否包含有指定的字段並列印出來,常用來查詢日誌 埠等 檢視檔案中中含有8080欄位的行 grep ...

grep常見引數及應用舉例

grep,是一種強大的文字搜尋工具,英文全稱為 global search regular expression re and print out the line 意為全面搜尋正規表示式並把行列印出來 它能使用正規表示式搜尋文字,並把匹配的行列印出來。選項 1 2 3 4 5 6 7 8 9 10...

模擬退火演算法及常見應用

模擬退火 模擬退火 sim ulat edan neal ing sa simulated annealing sa simula teda nnea ling sa 的出發點是基於物理中固體物質的退火過程與一般組合優化問題之間的相似性。模擬退火演算法是一種通用的優化演算法,其物理退火過程由加溫過程...