Wie können 2 unsortierte Textdateien unterschiedlicher Länge nebeneinander (in Spalten) in a angezeigt werden?shell
Gegeben one.txt
und two.txt
:
$ cat one.txt
apple
pear
longer line than the last two
last line
$ cat two.txt
The quick brown fox..
foo
bar
linux
skipped a line
Anzeige:
apple The quick brown fox..
pear foo
longer line than the last two bar
last line linux
skipped a line
paste one.txt two.txt
macht fast den Trick, richtet die Spalten aber nicht gut aus, da nur eine Registerkarte zwischen Spalte 1 und 2 gedruckt wird. Ich weiß, wie das mit Emacs und Vim geht, möchte aber, dass die angezeigte Ausgabe für Piping ect stdout angezeigt wird.
Die Lösung, die ich mir ausgedacht habe, verwendet sdiff
und leitet dann zu sed, um die Ausgabe zu entfernen sdiff
.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Ich könnte eine Funktion erstellen und in meine stecken, .bashrc
aber sicherlich gibt es bereits einen Befehl dafür (oder möglicherweise eine sauberere Lösung)?