awk及sed的使用小結

2021-06-20 08:17:57 字數 2018 閱讀 3178

awk,sed是linux比較複雜的兩個命令,在處理格式化的檔案對我們有很大的幫助,最近,學習了這方面的知識,做了下總結。

1awk

語法: awk [-ffield-separator] ' begin pattern end'  file

awk主要處理格式化的檔案,讀取檔案的一行,分析該行,並通過分隔符獲取到各個域位的值,然後通過pattern去匹配對應的行,匹配的上的話就執行command命令,其預設操作是列印出該行。對於命令中的begin和end兩個關鍵字,指明了在處理文字內容前和後,分別執行command1和command2處理操作。

fs 輸入域分隔符,預設為乙個空格

rs 輸入記錄分隔符

nf 當前記錄裡域個數

nr 到目前為止記錄數

ofs

輸出域分隔符

ors

輸出記錄分隔符

awk的典型用法:

1.匹配某一行:

awk'/101/' file; 匹配帶有101字串的行

awk'$1==5' file 匹配第乙個域值為5的行

awk'$1=="ct"' file 匹配第乙個域值為「ct"的行

2awk  'begin ' 

將分隔符設定為空格、:、

tab、

|同時做為分隔符。

3awk '$1 ~ /101/ ' file 

將行中第乙個域中含有

101字串的第乙個域列印出來

4awk   'begin  ' file 在

command

中可以定義命令列自己用的變數,在該例子中定義了變數

max,在

command

使用該變數時,直接使用其變數名即可,後面的

max= ($1 >max ?$1:max); 

很類似於

c語言中的語法,當第乙個域大於

max時

max是第乙個域的值。

5awk '/tom/   end ' file

end表示在所有輸入行處理完後進行處理,統計

6awk '' file1 file2 file3>fileall  把

file1

、file2

、file3

的檔案內容全部寫到

fileall

中,格式為列印檔案並前置檔名。

7awk ' $1!=previous    ' fileall 

把合併後的檔案重新分拆為

3個檔案。並與原檔案一致。

8awk 'begin '   將

date

命令得到的結果傳送給

getline,

並將其列印出來

9ifconfig-a|grep vlan.|awk ''

將系統中的vlan.x的橋介面刪除掉

2sed

sed是乙個檔案處理工具,可以對檔案的行進行操作,主要是對資料進行新增,刪除,替換,選取等特定的工作,記住sed的操作不會對原始檔產生影響,只是輸出其處理後的結果,其命令列格式如下:

sed[-nefri] 'command' 輸入文字

-n:使用安靜模式,只把處理的部分輸出到螢幕上。

-i:直接修改讀取的檔案內容,而不是由螢幕輸出。

常用命令:

a:新增,在新的一行新增一行字串,for example:sed  '1a drinktea'  ab, sed  '1,3a drink tea'  ab

d:刪除,刪除一行或多行, for example: sed '1d' ab, sed '$d' ab刪除最後一行。

p:顯示某行,通常與-n共同使用,for example: sed -n '1p' ab, sed -n '2,$p' ab

c: 替換某一行,for example: sed '1,2c hi' ab,將第1,2行替換為hi

s: 替換一行中的某部分,格式: sed 's/要替換的字串/新的字串/g' for example:

sed -n '/ruby/p' ab|sed's/ruby/bird/g'

sed 使用小結

sed可用來編輯文字,主要作用是查詢和替換 1.查詢 sed n ahcming p以上作用等同於 grep ahcming 使用 n,sed將不會在操作完成後列印,只有p才表示輸出 2替換sed 命令列 sed s 查詢內容 替換內容 sed s 查詢內容 替換內容 g 行為模式 每次讀取一行,查...

sed 和 awk 的運用

n 遮蔽預設輸出,預設sed會輸出讀取文件的全部內容 r 讓sed支援擴充套件正則 i sed直接修改原始檔,預設sed只是通過記憶體臨時修改檔案,原始檔無影響 sed n 3,6p etc passwd 答案 sed i s usr local usr src g file 答案 awk home...

Linux下的sed工具及awk工具的使用

在linux下的sed工具和awk工具是最常用的文字處理工具,配合grep的使用將產生非常大的威力,下面就來說一下sed和awk的基礎用法,sed基本用法如下 sed命令的語法如下所示 sed nefr 動作 引數說明 n 使用安靜模式,一般所有來自stdin的資料會被列出到螢幕上,但是 n 在可以...