Cetak hasil perintah berdampingan


11

Dimungkinkan untuk mencetak hasil dari 2 perintah berdampingan ...

Sesuatu seperti ini

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

hasil:

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

Saya tahu itu prbisa melakukan sesuatu seperti ini dengan file, tetapi saya tidak menemukan cara untuk melakukan ini untuk perintah ...

Jawaban:


13

Anda dapat menggunakan subtitusi proses

pr -m <(cmd1) <(cmd2)

meskipun dalam kasus Anda, karena Anda memiliki satu perintah dan satu file:

ls -l | pr -m - bla.txt

2
Alih-alih pr -mbisa digunakan paste.
Ramchandra Apte

1
@RamchandraApte ya, meskipun pastetidak akan menyelaraskannya di kolom seperti pr -mhalnya.
geirha

4

Anda bisa menggunakan screenseperti ini:

Dalam screenjenis Ctrl- a |untuk vertikal dan Ctrl- a Suntuk perpecahan horisontal.

  • lompat ke wilayah tampilan berikutnya: Ctrl-a Tab
  • hapus wilayah saat ini: Ctrl-a X
  • hapus semua wilayah kecuali yang sekarang: Ctrl-a Q

mulai ls -l /adi bagian kanan dan cat bla.txtkiri.


Di mana screenbekerja, tmuxbekerja juga.
kiri

3

TL; DR

Pertimbangkan untuk menggunakan kombinasi paste/ columndaripada pruntuk mendapatkan hasil yang lebih konsisten.

  • Bergantung pada OS Anda, prcampuran yang salah di kolom ketika panjang input berbeda (Ubuntu, macOS) atau bahkan lebih buruk akan mencetak setiap input pada halaman yang sama sekali berbeda (Centos 7)

  • pr baik prepends dan menambahkan output asing

FORMAT:

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

Penjelasan detail

Solusi yang sangat kuat dimungkinkan melalui kombinasi perintah pastedan column.

Keuntungan dari paste/ columnpendekatan lebih dari pr:

  • Output yang lebih bersih karena tidak ada cap waktu atau informasi tajuk halaman yang ditambahkan sebelumnya, atau layar penuh baris kosong yang ditambahkan

  • Kolom selalu terpisah meskipun panjang inputnya berbeda

Contoh nyata:

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

Output paste/ columnteknik nyata di Ubuntu 16.04:

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

Lihat juga: menggabungkan file teks dengan bijaksana

Untuk Perbandingan: prpada berbagai platform

TL; DR: pr perilaku tidak konsisten di semua rasa Linux.

Output dari prversi di Ubuntu :

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

Output dari prversi pada OS X / macOs :

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 ...>

Output dari prversi di Centos :

(Secara mengejutkan perilaku di prbawah Centos 7 berbeda dari semua platform lainnya yang diuji)

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 ...>

bagus. lebih baik dari jawaban yang diterima. tapi tetap saja, output berwarna merusak segalanya. paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t
phil294

Senang mendengar Anda merasa terbantu. Bersulang!
Jay Taylor

ini membantu tetapi tidak bekerja dengan baik dengan warna. lihat perintah di atas. apakah kamu tahu apa yang harus dilakukan tentang ini? terima kasih
phil294

Ya, warna akan selalu mengacaukannya. Mengupas warna sebelumnya dari input dapat melakukan trik, untuk contoh lihat sumber daya ini: commandlinefu.com/commands/view/3584/… atau unix.stackexchange.com/questions/140251/…
Jay Taylor

Ini adalah jawaban yang lebih lengkap dan harus menjadi jawaban yang diterima.
Jeremy Iglehart
Dengan menggunakan situs kami, Anda mengakui telah membaca dan memahami Kebijakan Cookie dan Kebijakan Privasi kami.
Licensed under cc by-sa 3.0 with attribution required.