awk: 파일에 자동 증가 필드 추가

awk: 파일에 자동 증가 필드 추가

파일이 주어지면 다음과 같은 문제가 있습니다

val1 val2 text_0 
val1 val2 text_0 
val1 val2 text_0 
...
val1 val2 text_1 
val1 val2 text_1 
val1 val2 text_1 
...
val1 val2 text_2 
val1 val2 text_2 
val1 val2 text_2 
...

text_각 새 태그에 대해 자동 증가가 0부터 시작되도록 각 열에 자동 증가를 추가 해야 합니다 .

val1 val2 text_0_0 
val1 val2 text_0_1 
val1 val2 text_0_2 
...
val1 val2 text_1_0 
val1 val2 text_1_1 
val1 val2 text_1_2 
...

저는 AWK에 익숙하지 않아서 이를 수행할 방법을 찾을 수 없습니다.

답변1

짧은방법:

awk '{ $3=$3"_"a[$3]++ }1' file

대략적인 출력:

val1 val2 text_0_0
val1 val2 text_0_1
val1 val2 text_0_2
...  
val1 val2 text_1_0
val1 val2 text_1_1
val1 val2 text_1_2
...  
val1 val2 text_2_0
val1 val2 text_2_1
val1 val2 text_2_2

  • a[$3]++<var>++- postincrement()를 통해 세 번째 필드 값의 발생을 계산합니다.

관련 정보