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

관련 정보