Befehlsergebnis nebeneinander drucken


11

Es ist möglich, das Ergebnis von 2 Befehlen nebeneinander zu drucken ...

Etwas wie das

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

Ergebnis:

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

Ich weiß, dass prso etwas mit Dateien möglich ist, aber ich habe keine Möglichkeit gefunden, dies für Befehle zu tun ...

Antworten:


13

Sie können die Prozessersetzung verwenden

pr -m <(cmd1) <(cmd2)

In Ihrem Fall haben Sie jedoch einen Befehl und eine Datei:

ls -l | pr -m - bla.txt

2
Anstelle pr -mkann man verwenden paste.
— Ramchandra Apte

1
@RamchandraApte ja, aber sie pastewerden nicht wie in Spalten ausgerichtet pr -m.
— Geirha

4

Sie können screenwie folgt verwenden:

In screenTyp Ctrl- a |für vertikale und Ctrl- a Sfür horizontale Aufteilung.

  • zum nächsten Anzeigebereich springen: Ctrl-a Tab
  • Aktuelle Region entfernen: Ctrl-a X
  • Entfernen Sie alle Regionen außer der aktuellen: Ctrl-a Q

Beginnen Sie ls -l /ain der rechten Hälfte und cat bla.txtin der linken.


Wo screenfunktioniert, tmuxfunktioniert auch.
— Kiri

3

TL; DR

Erwägen Sie die Verwendung einer Kombination von paste/ columnstatt prkonsistentere Ergebnisse zu erhalten.

  • Je nach Betriebssystem werden prdie Spalten falsch gemischt, wenn sich die Eingabelängen unterscheiden (Ubuntu, macOS) oder noch schlimmer, jeder Eingang wird auf einer völlig anderen Seite gedruckt (Centos 7).

  • pr sowohl fremde Ausgabe vorangestellt als auch angehängt

FORMAT:

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

Ausführliche Erklärung

Eine äußerst robuste Lösung ist durch eine Kombination der Befehle pasteund möglich column.

Vorteile des paste/ column-Ansatzes gegenüber pr:

  • Sauberere Ausgabe, da weder Zeitstempel- oder Seitenkopfinformationen vorangestellt noch ein Vollbild mit leeren Zeilen angehängt wird

  • Spalten bleiben immer getrennt, auch wenn die Eingabelängen unterschiedlich sind

Konkretes Beispiel:

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

Real-Life-Ausgabe von paste/ columnTechnik unter 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

Siehe auch: Textdateien spaltenweise kombinieren

Zum Vergleich: prauf verschiedenen Plattformen

TL; DR: Das pr Verhalten ist in allen Linux-Varianten inkonsistent.

Ausgabe der prVersion unter 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

Ausgabe der prVersion unter 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 ...>

Ausgabe der prVersion auf Centos :

(Überraschenderweise unterscheidet sich das Verhalten prunter Centos 7 von dem aller anderen getesteten Plattformen.)

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

nett. besser als die akzeptierte Antwort. Trotzdem bricht die farbige Ausgabe alles. paste <(screenfetch) <(echo hi |cowsay -W 20) |column -s $'\t' -t
— Phil294

Schön zu hören, dass Sie es hilfreich fanden. Prost!
— Jay Taylor

Es ist hilfreich, funktioniert aber nicht richtig mit Farben. siehe obigen Befehl. Wissen Sie, was Sie dagegen tun sollen? danke
— phil294

Ja, Farben werden es immer vermasseln. Siehe Farben vorher vom Eingang Strippen kann den Trick tun, für Beispiele , die diese Ressourcen: commandlinefu.com/commands/view/3584/... oder unix.stackexchange.com/questions/140251/...
— Jay Taylor

Dies ist eine vollständigere Antwort und sollte die akzeptierte Antwort sein.
— Jeremy Iglehart
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.