Linux

如何在 linux 終端中使用 grep 或 awk 命令在文本文件中添加增量整數行?

  • January 24, 2019

我有一個包含 1000 萬行以上的文本文件。該文件如下所示:

1902400023
1902400029
1902400031
1902400032

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

ID,MSISDN,SHORTCODE
1,1902400023,1
2,1902400029,1
3,1902400031,1
4,1902400032,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用於跟踪我們用於增量計數器的行號。

引用自:https://unix.stackexchange.com/questions/496389