아래와 같이 3개의 열이 있는 텍스트 파일이 있습니다.
$ cat test.txt
1,A,300
1,B,300
1,C,300
이제 세 번째 열을 추가하고 싶습니다. 출력은 다음과 같습니다.
1,A,300
1,B,301
1,C,302
지금까지 시도해 본 결과,
awk -F, '{$3=$3+1;print}' OFS=, test.txt
하지만 출력은 다음과 같습니다.
1,A,301
1,B,301
1,C,301
예상되는 출력을 달성하는 방법을 제안해 주세요.
답변1
원래 접근 방식을 약간 조정했습니다.
awk -F',' 'BEGIN { OFS = FS } { $3 += NR - 1; print }' test.txt
이 NR
변수는 지금까지 읽은 레코드(행) 수를 보유합니다.
답변2
awk -F, 'BEGIN {offset=0; OFS=","} {print $1,$2,$3+offset++}"' /path/to/input
또는:
awk -F, 'BEGIN {OFS=","} {print $1,$2,$3+(NR-1)}"' /path/to/input