sed命令與awk命令基礎

2021-10-04 21:03:14 字數 1706 閱讀 6486

命令格式:sed option script file

-e script    在處理輸入時,將script中指定的命令新增到已有的命令中

-f file      在處理輸入時,將file中指定的命令新增到已有的命令中

-n           不產生命令輸出,使用print命令來完成輸出

-s           s命令會用斜線間指定的第二個文字字串來替換乙個文字字串

eg:sed 's/text1/text2/' filename    將檔案內容經過修改處理輸出到螢幕,但不會改變原filename檔案的內容

eg:sed -e 's/text1/text2/;s/txt1/txt2/' filename

sed命令上執行多個命令時,只要用-e選項

-f     從檔案中讀取編輯命令

eg:sed -f script.sed filename

cat script.sed

s/brown/green/

s/fox/elephant/

s/dog/cat/

主要用來從大文字檔案中讀取資料元素,並將它們格式化成可讀的報告

命令格式:gawk option program filename

gawk選項

-f fs         指定行中劃分資料字段的字段分隔符

-f file       從指定檔案中讀取程式

-v var=value     定義gawk程式中的乙個變數及其預設值

-mf n     指定要處理的資料檔案中最大字段數

-mr n     指定資料檔案中的最大資料行數

-w keyword     指定gawk的相容模式或警告等級

gawk程式指令碼用一對花括號來定義。你必須將指令碼命令放到兩個花括號({})中,及program

$0代表整個文字行;

$1代表文字行中的第1個資料字段;

$2代表文字行中的第2個資料字段;

$n代表文字行中的第n個資料字段

預設-f引數值為" "空格

$ echo "my name is rich" | gawk ''

my name is christine

begin關鍵字強制gawk在讀取資料前執行begin關鍵字後指定的程式指令碼

end關鍵字允許你指定乙個程式指令碼,gawk會在讀完資料後執行它

$ cat script4.gawk

begin

end

$

$ gawk -f script4.gawk /etc/passwd

the latest list of users and shells

userid shell

-------- -------

root /bin/bash

bin /sbin/nologin

daemon /sbin/nologin

[...]

christine /bin/bash

mysql /bin/bash

samantha /bin/bash

timothy /bin/bash

this concludes the listing

$

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。...

sed基礎命令彙總

sed流編輯器 一次處理一行內容 原檔案不會被改變 a 新增 sed e 2 a haha test01.txt 在第2行後邊新增haha 新增是在指定行的後邊新增 c 取代 sed e 1c csdn test01.txt 1是行號 把第一行的內容用csdn來替代 d 刪除 sed e 3d te...

Sed命令基礎操作

sed 用法的小技巧 1 在查詢範圍時不需要用到替換,所以不用 s 2 當只需要列印被修改行時,可以使用 n 和 p 選項,注意二者一定配合使用 3種方式指定命令列上的多重指令 1 用逗號分隔指令 2 在每個指令前放置 e 3 輸入單分號後敲擊 return 刪除 d命令 sed 2d exampl...