awk使用筆記

2021-04-30 02:42:55 字數 1685 閱讀 7874

awk

使用筆記

今天一同事需要將乙個檔案的第

31列和第

32列的數字行替換為

86。因為檔案很大,因此用手工來改顯然不顯示,因此得求助於指令碼工具。雖然我對這些指令碼也不是很精通,但既然答應幫這個忙,就現學現用,完成了這個功能,記錄如下。

為了方便記錄我將該檔案簡化一下成下面的格式,檔名為

test

:12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

12345 67 8910

需求可以簡化為將

3列和第

4列替換為

86.如何實現呢?最先我一直去尋找直接替換列的操作,發現找了

很久都未找到,後來轉換一下思路。實現如下:

第一步:

awk '' test

上面的命令是先把第乙個欄位列取出來,執行結果如下:

12345

12345

12345

12345

12345

12345

12345

12345

12345

12345

第二步:通過使用

substr

函式awk '' test

執行結果如下:第三列和第四列已經被替換為

86了。

12865

12865

12865

12865

12865

12865

12865

12865

12865

12865

第三步:將後面的字段加上。

awk '' test

執行結果如下

:12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

12865 67 89 10

成功完成上述需求的功能。

awk使用筆記

此文件主要記錄各種實際工作中awk的一些應用,方便以後類似功能的應用,隨時增加新的案例。一。如何用awk同時處理多個檔案 awk nr fnr nr fnr b nr fnr b c data1.txt data2.txt data3.txt 按照此方法,理論上來說,可處理n多個有關聯欄位的檔案,之...

AWK使用筆記

awk程式執行的方法 1 awk program input file1 input file2 這種方式適用於短的程式 2 awk f program file input file1 input file2 其中 program 由一系列的模式和行為組成 在awk的語法中,模式或行為都可以被省略...

awk 命令使用筆記

awk 預設以空格或tab分割,0代表整行,1代表分割後的第乙個單詞,以此類推,上面例子會列印出分隔符後第乙個單詞和 補充字段 awk f 關鍵字 filename eg awk f update ids.sql 這裡 f 代表以什麼符號分割,中間是關鍵字 用來獲取有這個關鍵字的行。awk f 分隔...