Komut sonucunu yan yana yazdır


11

2 komutun sonucunu yan yana yazdırmak mümkündür ...

Böyle bir şey

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

sonuç:

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

Bunun prdosyalarla böyle bir şey yapabileceğini biliyorum , ama komutlar için bunu yapmanın bir yolunu bulamadım ...

Yanıtlar:


13

Süreç ikamesini kullanabilirsiniz

pr -m <(cmd1) <(cmd2)

sizin durumunuzda olsa da, bir komut ve bir dosyanız olduğu için:

ls -l | pr -m - bla.txt

2
Bunun yerine pr -mbirini kullanabilirsiniz paste.
Ramchandra Apte

1
@RamchandraApte evet, ancak pastebunları olduğu gibi sütunlarda hizalamaz pr -m.
geirha

4

Bunun gibi kullanabilirsiniz screen:

In screentürü Ctrl- a |Dikey ve için Ctrl- a Syatay bölünme.

  • sonraki görüntüleme bölgesine atla: Ctrl-a Tab
  • geçerli bölgeyi kaldır: Ctrl-a X
  • geçerli bölge hariç tüm bölgeleri kaldır: Ctrl-a Q

ls -l /asağ yarısında ve cat bla.txtsolda başlayın .


Nerede screençalışıyor, o da tmuxçalışıyor.
kiri

3

TL; DR

Daha tutarlı sonuçlar elde etmek için paste/ columnyerine bir kombinasyon kullanmayı düşünün pr.

  • İşletim sisteminize bağlı olarak, prgiriş uzunlukları farklı olduğunda (Ubuntu, macOS) veya daha da kötüsü, her girişi tamamen farklı sayfalara yazdırır (Centos 7)

  • pr yabancı çıktıları hem ekler hem de ekler

BİÇİM:

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

Detaylı açıklama

pasteVe columnkomutlarının bir kombinasyonu ile oldukça sağlam bir çözüm mümkündür .

paste/ columnYaklaşımın avantajları pr:

  • Hiçbir zaman damgası veya sayfa başlığı bilgisi eklenmediği veya boş satırların tam ekranı eklenmediği için daha temiz çıktı

  • Giriş uzunlukları farklı olsa bile sütunlar her zaman ayrı kalır

Somut örnek:

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

Ubuntu 16.04'te gerçek hayat paste/ columnteknik:

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

Ayrıca bkz: metin dosyalarını sütun olarak birleştirin

Karşılaştırma için: prçeşitli platformlarda

TL; DR: pr Linux lezzetlerinde davranış tutarsız.

Ubuntu'dapr sürüm çıktısı :

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

Çıktı prüzerinde sürümü 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 ...>

Centos'takipr sürüm çıktısı :

(Şaşırtıcı bir şekilde prCentos 7'nin altındaki davranış, test edilen tüm diğer platformlardan farklıdır)

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

Güzel. kabul edilen cevaptan daha iyi. ama yine de, renkli çıktı her şeyi kırar. paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t
phil294

Yararlı bulduğunu duyduğuma sevindim. Şerefe!
Jay Taylor

yararlı ama renklerle düzgün çalışmıyor. yukarıdaki komuta bakınız. bunun hakkında ne yapacağını biliyor musun? teşekkürler
phil294

Evet, renkler her zaman berbat olacak. Renkleri girişten önce sıyırmak hile yapabilir, örneğin şu kaynaklara bakın: commandlinefu.com/commands/view/3584/… veya unix.stackexchange.com/questions/140251/…
Jay Taylor

Bu daha eksiksiz bir cevaptır ve kabul edilen cevap olmalıdır.
Jeremy Iglehart
Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.