이 형식의 파일을 바꿔야 합니다
1 2 3 4
6 7 8 9
a b c d
f g h i j
이 형식으로
1 2 6 7 a b f g
3 4 8 9 c d h k
위에 게시된 대로 두 개의 열을 한 행에 배치합니다.
어떤 제안이 있으십니까? ?
답변1
k
출력 내용에 오타가 있다고 가정하면 bash에서 이를 수행하는 한 가지 방법이 있습니다.
paste -d $'\n' <(cut -f1,2 -d' ' input.txt | tr -s $'\n' ' ') \
<(cut -f3,4 -d' ' input.txt | tr -s $'\n' ' ')
생산하다
1 2 6 7 a b f g
3 4 8 9 c d h i
GNU awk 기반 솔루션
awk '{for (j = 1; j <= NF; ++j) arr[NR,j] = $j};
END{
for (j=1; j <=NF; j+=2) for(i=1; i <=NR; ++i){
printf i == 1?"": " "; printf arr[i,j]" "arr[i,j+1];
if (i == NR) printf "\n"
}
}' input.txt