awk csv 파일에 번호 추가

awk csv 파일에 번호 추가

다음 CSV 파일이 있습니다

vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,14/05/2016,ABC
vol123,13/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,18/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,19/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,20/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC
vol123,22/05/2016,ABC
vol123,12/05/2016,ABC
vol123,12/05/2016,ABC

아래와 같이 바꾸고 싶습니다.

vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,12/05/2016,ABC3
vol123,14/05/2016,ABC4
vol123,13/05/2016,ABC5
vol123,12/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,18/05/2016,ABC8
vol123,12/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,19/05/2016,ABC3
vol123,12/05/2016,ABC4
vol123,12/05/2016,ABC5
vol123,20/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,12/05/2016,ABC8
vol123,22/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1

마지막 열에 숫자를 추가하고 싶습니다. 숫자 범위는 1~10입니다. 11번째 레코드에서 1을 다시 사용하고 싶으므로 루프에서 추가가 작동해야 합니다.

awk 명령을 사용하여 이를 얻을 수 없으므로 도와주세요.

답변1

다음을 사용하여 각 줄에 awk줄 번호( )를 추가 할 수 있습니다 .NR

awk '{print $0 NR}' file

행 번호를 10으로 나눈 후 나머지를 인쇄하려면 다음을 수행하십시오.

awk '{print $0 NR%10}' file

0대신 인쇄하는 것을 제외하고는 원하는 것을 인쇄합니다 10. 필요한 경우 10다음을 계산할 수 있습니다 (NR - 1)%10 + 1.

awk '{print $0 (NR - 1)%10 + 1}' file

결과:

vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,12/05/2016,ABC3
vol123,14/05/2016,ABC4
vol123,13/05/2016,ABC5
vol123,12/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,18/05/2016,ABC8
vol123,12/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1
vol123,12/05/2016,ABC2
vol123,19/05/2016,ABC3
vol123,12/05/2016,ABC4
vol123,12/05/2016,ABC5
vol123,20/05/2016,ABC6
vol123,12/05/2016,ABC7
vol123,12/05/2016,ABC8
vol123,22/05/2016,ABC9
vol123,12/05/2016,ABC10
vol123,12/05/2016,ABC1

관련 정보