행 간에 열 이동

행 간에 열 이동

저는 txt 파일을 작업 중이며 첫 번째 열/필드는 그대로 유지하고 두 번째 열은 한 행 아래로 이동하려고 합니다. 이것을 시도했지만 일치하지 않는 오류가 발생했습니다.

awk  '{for(i=1; i<NR; i++) FNR==i {print i, $(i+1)}}’ filename

답변1

당신이 원하는 것 같아요

awk '{tmp = $2; $2 = prev; prev = tmp; print}' filename

열 사이의 공백은 단일 공백으로 축소됩니다.

$ seq 12 | paste - - -
1       2       3
4       5       6
7       8       9
10      11      12

$ seq 12 | paste - - - | awk '{tmp = $2; $2 = prev; prev = tmp; print}' 
1  3
4 2 6
7 5 9
10 8 12

관련 정보