Come possono essere visualizzati fianco a fianco (in colonne) 2 file di testo non ordinati di diversa lunghezza in un fileshell
Dato one.txt
e 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
Schermo:
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
fa quasi il trucco ma non allinea bene le colonne in quanto stampa solo una scheda tra la colonna 1 e 2. So come farlo con emacs e vim ma voglio che l'output venga visualizzato su stdout per piping ect.
La soluzione che mi è venuta in mente usa sdiff
e poi pipe a sed per rimuovere l'output sdiff
aggiunge.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Potrei creare una funzione e inserirla nel mio .bashrc
ma sicuramente un comando per questo esiste già (o potenzialmente una soluzione più pulita )?