CSV 파일에서 열 값을 1씩 늘리는 방법

CSV 파일에서 열 값을 1씩 늘리는 방법

아래와 같이 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

관련 정보