나는 그 안에 n 개의 열이있는 파일을 가지고 있습니다. 동일한 column1 값을 갖는 열을 합쳐서 인쇄해야합니다. 모든 열은 첫 번째 열을 제외한 숫자입니다. 예를groupby/첫 번째 열의 모든 열을 동일하게 일치 awk
은 File2.txt
col1 col2 col3 ... colN
val1 3000 1000 ... 5000
val2 3000 1000 ... 5000
val1 1000 2000 ... 3000
예상 출력 :
col1 col2 col3 ... colN
val1 4000 3000 ... 8000
val2 3000 1000 ... 5000
나는 시도했다 :이 내용은 처음 두 개의 열을 인쇄
awk '{sums[$1] += $2} END { for (i in sums) printf("%s %s\n", i, sums[i])}' file1.txt | sort
. 모든 열을 추가하고 인쇄해야합니다.
정확하게 올바른 생각 일 수 있지만 모든 분야를 반복 할 필요가 있습니다. 1 장. '$ 1'의 값과 필드 번호에 기반한 배열 인덱스를 가지려면'sum [$ 1, i]'(루프 변수가 i라고 가정)을 사용할 수 있습니다. 그렇다면 END 루프는 1에서 X까지 걸어야 할 것입니다. (어떤 점에서 NF를 저장하고 모든 줄이 동일한 길이라고 가정하면) 순차 필드를 인쇄하십시오. –