bash: 첫 번째 행에 열 번호를 추가하는 방법

bash: 첫 번째 행에 열 번호를 추가하는 방법

다음과 같은 대용량 .txt 파일이 많이 있습니다.

xx yy ... zz 
XX YY ... ZZ

각각 다른 수의 열이 있는 헤더 행을 추가하고 싶습니다.

1 2 ... 999
xx yy ... zz
XX YY ... ZZ

열 수가 다르기 때문에 "1\t2\t...."를 직접 입력할 수는 없습니다. 코드에 다음과 같은 내용이 포함되어야 할 것 같습니다 $NF. 당신의 도움을 주셔서 감사합니다.

답변1

사용 awk:

awk 'NR==1{for (i=1;i<=NF;i++) printf "%s%s",i,i==NF?ORS:OFS}1' file

탭으로 구분된 파일이 있는 경우 BEGIN{FS=OFS="\t"}스크립트 시작 부분에 추가하세요.awk

여기에서 확인하세요파일을 제자리에서 편집하는 방법.

관련 정보