Ubuntu gawkは変更なしで最初の行をコピーします。

Ubuntu gawkは変更なしで最初の行をコピーします。

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

ベストアンサー1

where行にのみ適用するように指示したため、スクリプトは最初の行をスキップします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

おすすめ記事