Linux高階運維命令(sed)

2021-09-02 05:48:12 字數 2716 閱讀 6911

sed是乙個很好的檔案處理工具,本身是乙個管道命令,主要是以行為單位進行處理,可以將資料行進行替換、刪除、新增、選取等特定工作。

sed命令列格式為:

sed [-nefri] 『command』 輸入文字
sed -n '2000,$p' fname | less
sed -n '/^2016-06-09/p' catalina.out > 2016-06-09.log

sed -n '/^2016-06-09 13/p' catalina.out > 2016-06-09_13-14.log

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

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

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

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

刪除第一行

`sed '1d' fname`
刪除最後一行

`sed '$d' fname`
刪除第一行到第二行

`sed '1,2d' fname`
刪除第二行到最後一行

`sed '2,$d' fname`
顯示第一行

sed -n '1p' fname
顯示最後一行

sed -n '$p' fname
顯示第一行到第二行

sed -n '1,2p' fname
顯示第二行到最後一行

sed -n '2,$p' fname
查詢包括關鍵字ruby所在所有行

sed -n '/ruby/p' fname
查詢包括關鍵字$所在所有行,使用反斜線\遮蔽特殊含義

sed -n '/\$/p' fname
增加一行或多行字串cat fname

hello!

ruby is me,welcome to my blog.

end

第一行後增加字串"drink tea"

sed '1a drink tea' fname
hello!

drink tea

ruby is me,welcome to my blog.

end

第一行到第三行後增加字串"drink tea"

sed '1,3a drink tea' fname
hello!

drink tea

ruby is me,welcome to my blog.

drink tea

enddrink tea

第一行後增加多行,使用換行符\n

sed '1a drink tea\nor coffee' fname
hello!

drink tea

or coffee

ruby is me,welcome to my blog.

end

第一行代替為hised '1c hi' fname

hi

ruby is me,welcome to my blog.

end

第一行到第二行代替為hi

sed '1,2c hi' fname
hi

end

要替換的字串可以用正規表示式

sed 's/源字串/目標字串/g'
替換ruby為bird

sed -n '/ruby/p' fname | sed 's/ruby/bird/g'
刪除ruby

sed -n '/ruby/p' fname | sed 's/ruby//g'
插入

`sed -i '$a bye' fname`在檔案fname中最後一行直接輸入"bye"
cat fname

hello!

ruby is me,welcome to my blog.

endbye

sed -i '/匹配字串/d'  filename
替換匹配行中的某個字串

`sed -i '/匹配字串/s/替換源字串/替換目標字串/g' filename`

Linux高階運維命令(awk)

awk是乙個強大的文字分析工具,相對於grep的查詢,sed的編輯,awk在其對資料分析並生成報告時,顯得尤為強大。簡單來說awk就是把檔案逐行的讀入,以空格為預設分隔符將每行切片,切開的部分再進行各種分析處理。awk有3個不同版本 awk nawk和gawk,未作特別說明,一般指gawk,gawk...

Linux運維 高階指令

df 作用 檢視磁碟的空間 df h h 以較高可讀性展示大小 free 作用 檢視記憶體使用情況 free m m 以兆m為單位的形式顯示。這裡用 h可能會被四捨五入 作用 檢視乙個檔案的前n行,如果不指定n,則預設顯示前10行。n表數字 head n 檔案路徑 head 5 install.lo...

運維linux命令

原文 感謝博主的文章!之前做過兩年的運維,用過很多命令,深切體會到某些linux命令熟練掌握後對效率提公升有多大。舉個簡單的例子,在做了研發後經常會有跑一些資料,對於結果資料的處理,我們的產品同學一般都習慣於用excel做統計,把資料複製到excel裡,然後資料分列,排序 最後得出某些簡單的結論,我...