
내 스크립트 중 하나의 출력을 열화할 수 있는 간단한 유틸리티나 스크립트가 있습니까? 어떤 형태의 데이터가 있습니다.
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
(현재 스크립트가 수행하는 작업). 어떤 아이디어가 있나요? 감사해요!
답변1
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
답변2
출력을 열로 정렬하려면 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
...
답변3
파일을 두 부분(동일한 줄 수 또는 첫 번째 파일에 한 줄이 더 있음)으로 분할하고 다음을 수행할 수 있습니다.
paste file1 file2
줄의 길이가 너무 다양하면 printf를 사용하여 공백을 채워 길이를 조정해야 할 수도 있습니다.
답변4
다음을 간단히 사용할 수 있습니다 columns
.
$ cat test.txt | columns
A aldkhasdfljhaf B klajsdfhalsdfh C salkjsdjkladdag
D lseuiorlhisnflkc E sdjklfhnslkdfhn F kjhnakjshddnaskjdh
노트:이 명령은 내 Fedora 14 시스템 패키지의 일부입니다 columns
.autogen
$ rpm -qf /usr/bin/columns
autogen-5.9.4-7.fc12.x86_64