Ubuntu

Ubuntu gawk 複製第一行不做修改

  • April 30, 2020

我有以下腳本可以向 CSV 文件添加一些附加值。

文件中的第一行是標題,所以顯然我們想保留它們,但我的腳本完全跳過了它們。

簡而言之,我想將所有內容複製到最終文件中,但僅在第一行之後進行修改。

gawk -v exists="false" -v app_name="app_name" -v find_date=$(date +%F) -F"[ \t]+" 'BEGIN {OFS = "\t"} NR>1 {$12=exists;$13=app_name;$14=find_date; print}' output.csv > output_final.csv

該腳本跳過第一行,因為您告訴它僅適用於NR>1. 你需要指定什麼時候做什麼NR==1

gawk -v exists="false" -v app_name="app_name" -v find_date=$(date +%F) -F"[ \t]+" '
  BEGIN {OFS = "\t"}
  NR==1 {print}
  NR>1 {$12=exists;$13=app_name;$14=find_date; print}
' output.csv > output_final.csv

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