檔案中的awk 命令

2021-06-30 16:31:27 字數 813 閱讀 7900

如果awk命令

被寫在檔案裡,就要用-f選項指定awk的檔名,後面再加上所要處理的輸入檔案的檔名。awk從緩衝區讀入一條記錄,接著測試awk檔案中的每一條命令,然後對讀入的記錄執行命令。處理完第一條記錄後,awk將其丟棄,接著將下一條記錄讀入緩衝區,依次處理所有記錄。如果沒有模式限制,預設的操作就是列印全部記錄。而模式如果沒有相應的操作,則預設行為是列印匹配它的記錄。範例

$  cat employees

tom   jones 

44245/

12/66543354

mary  adams 

534611/

4/6328765

sally chang 

16547/

22/54650000

billy black 

16839/

23/44336500 $ 

cat awkfile

/^mary

/ $ awk 

-f awkfile employees

tom jones 

4424

hello mary

!mäty adams 

5346

sally chang 

1654

billy black 

1683

說明:1.如果記錄以正規表示式mary開頭,則列印字串"hello mary!"。操作取決於它前面的模式是否匹配。且列印的字段之間以空白符分隔。

2.列印每條記錄的第1 、第2、第3欄位。awk對每行都執行該操作,因為沒有限制該操作的模式。

參考資料:

Linux中awk命令的使用

awk 引數 filename引數 含義 f 分割字串 要執行的操作裡面可以使用if,for,正規表示式 awk內建變數 變數含義 nr當前行號 nf當前行分隔出了多少列 awk f debug.log f 表示每一行用逗號分隔 表示列印出每行的第一列 awk f debug.log s 表示字串佔...

強大的awk命令

awk 用法 awk pattern 變數名 含義 argc 命令列變元個數 argv 命令列變元陣列 filename 當前輸入檔名 fnr 當前檔案中的記錄號 fs 輸入域分隔符,預設為乙個空格 rs 輸入記錄分隔符 nf 當前記錄裡域個數 nr 到目前為止記錄數 ofs 輸出域分隔符 ors ...

awk命令的使用

awk程式語言 資料處理引擎 創造者 aho weinberger kernighan 基於模式匹配檢查輸入 逐行讀入逐行輸出 將期望的匹配結果print到螢幕 語法格式 awk 模式 檔案1 檔案2 常用的內建變數 nr 當前處理行的序數 行號 fs 字段分隔,預設為空格或tab位 n 當前行的第...