명령 결과를 나란히 인쇄


11

두 명령의 결과를 나란히 인쇄 할 수 있습니다 ...

이 같은

something `ls -l /a` `cat bla.txt`

결과:

total 24                                                #while [ 1 = 1 ]; do
-rw-r--r-- 1 wolfy wolfy  194 Aug 13 08:50 c.in         #       echo "bla"
-rwxr-xr-x 1 wolfy wolfy   52 Sep 24 11:48 bla.sh       #done
-rwxr-xr-x 1 wolfy wolfy   38 Sep 24 11:48 bla1.sh      echo "bla"
-rwxr-xr-x 1 wolfy wolfy  147 Sep 24 11:54 ble.sh

pr파일로 이와 같은 작업을 수행 할 수 있다는 것을 알고 있지만 명령을 수행하는 방법을 찾지 못했습니다 ...

답변:


13

프로세스 대체를 사용할 수 있습니다

pr -m <(cmd1) <(cmd2)

하나의 명령과 하나의 파일이 있기 때문에 귀하의 경우에는 :

ls -l | pr -m - bla.txt

2
대신에을 pr -m사용할 수 있습니다 paste.
Ramchandra Apte

1
@RamchandraApte 예, paste열처럼 정렬 pr -m하지는 않습니다.
geirha

4

다음 screen과 같이 사용할 수 있습니다 :

에서 screen유형 Ctrl- a |수직을위한 Ctrl- a S수평 분할합니다.

  • 다음 표시 영역으로 이동 : Ctrl-a Tab
  • 현재 지역 제거 : Ctrl-a X
  • 현재 지역을 제외한 모든 지역을 제거합니다 Ctrl.-a Q

ls -l /a오른쪽과 cat bla.txt왼쪽에서 시작 하십시오 .


screen작동하는 곳도 작동 tmux합니다.
kiri

3

TL; DR

보다 일관된 결과를 얻기 보다는 paste/ 조합을 사용하는 column것이 좋습니다 pr.

  • OS에 따라 pr입력 길이가 다르면 (Ubuntu, macOS) 열이 잘못 혼합되거나 완전히 다른 페이지에 각 입력이 인쇄됩니다 (Centos 7).

  • pr 외부 출력을 추가하고 추가합니다.

체재:

paste <(cmd1) <(cmd2) | column -s $'\t' -t

상해

pastecolumn명령 의 조합을 통해 매우 강력한 솔루션이 가능 합니다.

paste/ column접근 방식의 장점 pr:

  • 타임 스탬프 또는 페이지 머리글 정보가 앞에 추가되지 않거나 빈 줄이 전체 화면에 추가되어 더 깨끗한 출력

  • 입력 길이가 다른 경우에도 열은 항상 분리되어 있습니다

구체적인 예 :

paste <(ls -1 .) <(ls -1 ..) | column -s $'\t' -t

Ubuntu 16.04 의 실제 출력 paste/ column기술 :

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ paste <(ls -1 .) <(ls -1 ..) | column -s $'\t' -t
LICENSE            archiveify
README.md          go-hostsfile
html2text.go       html2text
html2text_test.go  jaytaylor
testdata           mockery-example
shipbuilder
stoppableListener
tesseract-web

참조 : 텍스트 파일을 열 단위로 결합

비교를 위해 : pr다양한 플랫폼에서

TL; DR : pr Linux 환경에서 동작이 일치하지 않습니다.

우분투pr 버전의 출력 :

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr -m <(ls -1 .) <(ls -1 ..)


2017-05-25 15:50                    /dev/fd/62                    Page 1


LICENSE                 archiveify
README.md               go-hostsfile
html2text.go                html2text
html2text_test.go           jaytaylor
testdata                mockery-example
                    shipbuilder
                    stoppableListener
                    tesseract-web

OS X / macOspr 버전 출력 :

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr -m <(ls -1 .) <(ls -1 ..)


May 25 08:55 2017  Page 1


LICENSE                 archiveify
README.md               go-hostsfile
html2text.go                html2text
html2text_test.go           jaytaylor
testdata                mockery-example
                    shipbuilder
                    stoppableListener
                    tesseract-web

<... remainder of screen filled with blank lines ...>

Centospr버전 출력 :

(놀랍게도 prCentos 7 의 동작은 테스트 된 다른 모든 플랫폼 의 동작 과 다릅니다)

jay-z@jaytaylor.com:~/go/src/github.com/jaytaylor/html2text
$ pr <(ls -1 .) <(ls -1 ..)


2017-05-25 15:59                    /dev/fd/63                    Page 1


LICENSE
README.md
html2text.go
html2text_test.go
testdata

<... remainder of screen filled with blank lines ...>

2017-05-25 16:21                    /dev/fd/62                    Page 1


archiveify
go-hostsfile
html2text
jaytaylor
mockery-example
shipbuilder
stoppableListener
tesseract-web

<... remainder of screen filled with blank lines ...>

좋은. 허용 된 답변보다 낫습니다. 그러나 여전히 컬러 출력은 모든 것을 망칩니다. paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t
phil294

도움이되었다 니 다행입니다. 건배!
Jay Taylor

도움이되지만 색상이 제대로 작동하지 않습니다. 위의 명령을 참조하십시오. 이것에 대해 어떻게해야하는지 아십니까? 감사합니다
phil294

예, 색상이 항상 엉망이됩니다. 입력에서 미리 색상을 제거하면 트릭을 수행 할 수 있습니다. 예를 들어 다음 리소스를 참조하십시오 : commandlinefu.com/commands/view/3584/… 또는 unix.stackexchange.com/questions/140251/…
Jay Taylor

이것은 더 완전한 답변이며 허용되는 답변이어야합니다.
Jeremy Iglehart
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.