Como dois arquivos de texto não classificados de comprimentos diferentes podem ser exibidos lado a lado (em colunas) em umshell
Dado 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
Exibição:
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
quase faz o truque, mas não alinha as colunas muito bem, pois apenas imprime uma guia entre as colunas 1 e 2. Eu sei como fazer isso com emacs e vim, mas quero que a saída seja exibida para stdout para ect de tubulação.
A solução que encontrei usa sdiff
e canaliza o sed para remover os acréscimos de saída sdiff
.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Eu poderia criar uma função e colocá-la no meu, .bashrc
mas certamente já existe um comando para isso (ou uma solução mais limpa potencialmente)?