데이터 단어 뒤에 시퀀스 번호 추가

데이터 단어 뒤에 시퀀스 번호 추가

내 의견

cat file 
ABC
ABC
DEF
DEF
ABC
GHI
GHI
DEF

내가 원하는 출력

ABC_1 
ABC_2
DEF_1
DEF_2
ABC_3
GHI_1
GHI_2
DEF_3

누구든지 도움을 줄 수 있습니까? 저는 많은 검색을 했지만 여전히 유닉스에서 출력을 얻는 방법을 모릅니다.

답변1

$ awk '{print $1 "_" ++c[$1]}' file
ABC_1
ABC_2
DEF_1
DEF_2
ABC_3
GHI_1
GHI_2
DEF_3

awk 명령은 위에서 사용되었습니다: print $1 "_" ++c[$1]. 그러면 첫 번째 필드가 인쇄되고 그 뒤에 가 인쇄된 _다음 지금까지 첫 번째 필드가 표시된 횟수가 인쇄됩니다.

답변2

awk '$0=$0"_"++n[$0]' #comment

관련 정보