내 스크립트 중 하나의 출력을 열화하는 간단한 유틸리티 또는 스크립트가 있습니까? 어떤 형태의 데이터가 있습니다.
A aldkhasdfljhaf
B klajsdfhalsdfh
C salkjsdjkladdag
D lseuiorlhisnflkc
E sdjklfhnslkdfhn
F kjhnakjshddnaskjdh
그러나 이것이 두 개가 길어지면 데이터를 다음과 같은 형식으로 작성하십시오 (여전히 세로로 정렬 된 위치).
A aldkhasdfljhaf D lseuiorlhisnflkc
B klajsdfhalsdfh E sdjklfhnslkdfhn
C salkjsdjkladdag F kjhnakjshddnaskjdh
맨 페이지를 읽었을 때 이것이 이것이 column
적절한 것이라고 생각 하지는 않지만 확실하지 않습니다. 다음과 같은 형식으로 분할하기 쉽습니다.
A B
C D
E F
\n
두 번째 줄마다 인쇄 합니다 (현재 스크립트가하는 일). 어떤 아이디어? 감사!
답변
실제로 시도 했습니까 column
? 정확히 원하는 것 같습니다.
$ cat file
A aldkhasdfljhaf
B klajsdfhalsdfh
C salkjsdjkladdag
D lseuiorlhisnflkc
E sdjklfhnslkdfhn
$ column file
A aldkhasdfljhaf D lseuiorlhisnflkc
B klajsdfhalsdfh E sdjklfhnslkdfhn
C salkjsdjkladdag F kjhnakjshddnaskjdh
답변
출력을 분류하려면 pr
인쇄 할 텍스트 파일을 변환합니다.
-COLUMN, --columns=COLUMN: output COLUMN columns
and print columns down, unless -a is used.
-t, --omit-header : omit page headers and trailers
예 :
ls /etc | pr -2 -t
abrt gtk-2.0
acpi hal
adjtime hba.conf
agent.properties host.conf
aliases hosts
aliases.db hosts.allow
...
답변
파일을 두 줄로 나눠서 (같은 줄 수 또는 첫 줄에 한 줄 더 표시) 다음과 같이하십시오.
paste file1 file2
행의 길이가 너무 다른 경우 공백으로 채워서 printf를 사용하여 길이를 조정해야 할 수도 있습니다.
답변
당신은 평범한 것을 사용할 수 있습니다 columns
:
$ cat test.txt | columns
A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag
D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh
참고 : 이 columns
명령은 autogen
Fedora 14 시스템 패키지의 일부입니다 .
$ rpm -qf /usr/bin/columns
autogen-5.9.4-7.fc12.x86_64