如何在 Linux 終端機中使用 grep 或 awk 命令在文字檔案中新增增量整數行?

如何在 Linux 終端機中使用 grep 或 awk 命令在文字檔案中新增增量整數行?

我有一個包含 1000 萬多行的文字檔。該文件如下所示:

1902400023
1902400029
1902400031
1902400032

我想新增一個標題、增量 ID 號碼和一個常數 SHORTCODE。預期結果:

ID,MSISDN,SHORTCODE
1,1902400023,1
2,1902400029,1
3,1902400031,1
4,1902400032,1

這將繼續直到文件末尾並寫入另一個文件。

答案1

我想你需要awk如下程式碼

awk 'BEGIN { OFS = ","; header="ID,MSISDN,SHORTCODE" } NR == 1 { print header } 
           { $2 = $0; $1 = NR; $3 = 1; }1' file

在該BEGIN子句中,我們將輸出欄位分隔符號設為,運算子並初始化標頭字串。處理文件時,我們在第一行插入標題,並在後續行中插入您在OP中所示的行。NR是一個特殊變量,用於awk追蹤我們用於增量計數器的行號。

答案2

在這裡您可以使用以下 awk 指令來新增行號:

$ awk '{printf("%d:%s\n", NR, $0)}' millionlinetextfile > linenumberedfile

相關內容