GNU/Linux >> LINUX-Kenntnisse >  >> Linux

Zeigt zwei Dateien nebeneinander an

Wenn Sie wissen, dass die Eingabedateien keine Tabulatoren haben, verwenden Sie expand vereinfacht die Antwort von @oyss:

paste one.txt two.txt | expand --tabs=50

Wenn es Tabulatoren in den Eingabedateien geben könnte, können Sie immer zuerst expandieren:

paste <(expand one.txt) <(expand two.txt) | expand --tabs=50

Sie können pr verwenden Verwenden Sie dazu die -m -Flag zum Zusammenführen der Dateien, eine pro Spalte, und -t um Kopfzeilen wegzulassen, zB.

pr -m -t one.txt two.txt

Ausgaben:

apple                               The quick brown fox..
pear                                foo
longer line than the last two       bar
last line                           linux

                                    skipped a line

Siehe auch:

  • Befehlsergebnis nebeneinander drucken
  • Textdateien spaltenweise kombinieren

Um die Antwort von @Hasturkun etwas zu erweitern:standardmäßig pr verwendet nur 72 Spalten für seine Ausgabe, aber es ist relativ einfach, alle verfügbaren Spalten Ihres Terminalfensters zu verwenden:

pr -w $COLUMNS -m -t one.txt two.txt

Die meisten Shells speichern (und aktualisieren) die Bildschirmbreite Ihres Terminals im $COLUMNS Shell-Variable, also übergeben wir diesen Wert einfach an pr für die Breiteneinstellung der Ausgabe zu verwenden.

Dies beantwortet auch die Frage von @Matt:

Gibt es eine Möglichkeit für pr, die Bildschirmbreite automatisch zu erkennen?

Also nein:pr selbst kann die Bildschirmbreite nicht erkennen, aber wir helfen ein wenig, indem wir die Breite des Terminals über seinen -w übergeben Option.

Beachten Sie, dass $COLUMNS ist eine Shell-Variable, keine Umgebungsvariable, daher wird sie nicht in untergeordnete Prozesse exportiert, und daher funktioniert der obige Ansatz wahrscheinlich nicht in Skripten, sondern nur in interaktiven TTYs ... siehe LINES- und COLUMNS-Umgebungsvariablen, die in einem Skript verloren gehen für alternative Ansätze.


Linux
  1. Wie ändere ich die Erweiterung mehrerer Dateien?

  2. Gemeinsame Linien (Ähnlichkeiten) zweier Textdateien ausgeben (das Gegenteil von Diff)?

  3. Doppelte Dateien finden?

  4. Gemeinsame Linien zwischen zwei Dateien?

  5. So vergleichen Sie den Inhalt zweier Tarballs

8 Methoden zum gleichzeitigen Umbenennen mehrerer Dateien in Linux

So zeigen Sie zwei Dateien nebeneinander in Linux an

So vergleichen Sie zwei Dateien im Linux-Terminal

Verwenden des Diff-Befehls zum Vergleichen zweier Dateien im Linux-Terminal

Vergleichen von zwei Dateien im Linux-Terminal

Wie verbinde ich zwei CSV-Dateien?