主要用於增刪改
1.行前新增
(1)根據行號
sed 『i #####』 test.log 所有行前新增一行,內容為#####
sed -i 『i #####』 test.log
sed 『1 i #####』 test.log 第一行前新增一行,內容為#####
sed 『2,5 i #####』 test.log 2-5行每行新增一行,內容為#####
sed 『5,$ i #####』 test.log 5到最後一行新增一行,內容為#####
sed 『$ i #####』 test.log 最後一行新增一行,內容為#####
(2)根據正則
sed 『/ens33/i####』 test.log 包含ens33的行前新增一行,內容為#####
sed 『/ens33|fi/i####』 test.log 包含ens33或fi的行前新增一行,內容為#####
2.行後新增
將i換成a就是行前,其他一樣
3.整行替換
將i換成c就是整行替換,其他一樣
sed 『2,5 c #####』 test.log 將2-5行整體替換為乙個#######
sed 『/ens33/c####』 test.log 包含ens33的行替換為#####
sed 『/ens33|fi/c####』 test.log 包含ens33或fi的行替換為#####
4.整行刪除
將i換成d,再把內容去掉,其他一樣
sed 『1,3 d』 test.log
sed 『/ens33/d』 test.log
5.字串替換,插入與刪除
sed 『s/ff/####/』 test.log 把每一行第一次出現的ff換成######
sed 『s/ff/####/2』 test.log 把每一行第二次出現的ff換成######
sed 『s/ff/####/g』 test.log 把ff全部換成######
sed 『s/ff/####/g[i]』 test.log 把ff全部換成######
sed 『1,7 s/ens33/####/』 test.log 把1-7行的ens33全部換成######
sed 』 s/ens33//opt/software/』 test.log 要替換的內容含有/時,需要轉義,其他都不需要
刪除:把替換的內容設為空即可
sed 『1,7 s/ens33//g』 test.log
插入:轉為替換 在ens33後面插入insert
sed 『s/ens33/ens33insert/』 test.log
主要用來提取資訊
1.print
每行全部內容
每行第二個內容
每行第乙個和第三個內容
2.分隔符
awk -f 『sep』 『』 指定分隔符為sep 預設為空格,輸出第乙個內容
空格作為分割符,可以不寫,下面兩種意思一樣
awk -f 』 』 『』 指定分隔符為空格,輸出第乙個內容
awk 『』 預設分隔符為空格,輸出第乙個內容
其他分隔符
awk -f 『/』 『』 指定分隔符為/輸出第乙個內容
3.配合正則
awk -f 『/』 『/regexp/』 找到包含regexp的行,然後以/為分隔符輸出第乙個內容
4.多次篩選,即兩個awk語句,用|連線
awk -f 『/』 『/noprefixroute ens33/』|awk -f 』 』 『』
使用command|awk … 或者
awk… file
示例:獲取當前虛擬機器ip
方法1:ip addr|awk -f 『/』 『/noprefixroute ens33/』|awk -f 』 』 『』
方法2:ip addr>test.log
awk -f 『/』 『/noprefixroute ens33/』|awk -f 』 』 『』 test.log
sed命令與awk命令基礎
命令格式 sed option script file e script 在處理輸入時,將script中指定的命令新增到已有的命令中 f file 在處理輸入時,將file中指定的命令新增到已有的命令中 n 不產生命令輸出,使用print命令來完成輸出 s s命令會用斜線間指定的第二個文字字串來替換...
awk及sed的使用小結
awk,sed是linux比較複雜的兩個命令,在處理格式化的檔案對我們有很大的幫助,最近,學習了這方面的知識,做了下總結。1awk 語法 awk ffield separator begin pattern end file awk主要處理格式化的檔案,讀取檔案的一行,分析該行,並通過分隔符獲取到各...
Shell命令之sed和awk
1,sed 刪除指定行。sed i d filename 2,sed 刪除多行。sed i d filename 3,sed刪除最後一行。sed i d filename 4,sed替換文字檔案中所有出現的字元。sed i s abc def g filename 將文字中所有的abc替換成def。...