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.