긴 출력을 두 개의 열로 분할


20

내 스크립트 중 하나의 출력을 열화하는 간단한 유틸리티 또는 스크립트가 있습니까? 어떤 형태의 데이터가 있습니다.

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두 번째 줄마다 인쇄 합니다 (현재 스크립트가하는 일). 어떤 아이디어? 감사!

답변:


16

실제로 시도 했습니까 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

나는 노력했다. 그러나 잘못 (-t)... But for yours to work reliably you probably need
열)

나는 시도했지만 어떤 이유로 든 그것이 그것이 터미널 창의 너비에 달려 있다는 것을 깨닫지 못했습니다 (지금은 분명해 보입니다)!
Hemmer

또한 한 번에 두 대의 컴퓨터에서 이것을 테스트하고있었습니다. 명백히 이전 버전 (Scientific Linux에서 1993 년경)은 최신 2004 버전과 다르게 작동합니다.
Hemmer

11

출력을 분류하려면 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
...

큰 (긴) 파일에는 제대로 작동하지 않습니다.
한 번

2

파일을 두 줄로 나눠서 (같은 줄 수 또는 첫 줄에 한 줄 더 표시) 다음과 같이하십시오.

paste file1 file2

행의 길이가 너무 다른 경우 공백으로 채워서 printf를 사용하여 길이를 조정해야 할 수도 있습니다.


또는 ... | paste - - "긴 출력을 분할"할 때 ...
don_crissti

1

당신은 평범한 것을 사용할 수 있습니다 columns:

$ cat test.txt | columns
A aldkhasdfljhaf             B klajsdfhalsdfh             C salkjsdjkladdag
D lseuiorlhisnflkc           E sdjklfhnslkdfhn            F kjhnakjshddnaskjdh

참고 :columns명령은 autogenFedora 14 시스템 패키지의 일부입니다 .

$ rpm -qf /usr/bin/columns
autogen-5.9.4-7.fc12.x86_64

참고 문헌


columns: command not found. 오토 젠 ?
Gilles 'SO- 악마 그만해'

@Gilles-그렇습니다 autogen . Fedora 14 시스템을 확인했습니다. 답변에서도 언급하겠습니다.
slm
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.