W jaki sposób 2 nieposortowane pliki tekstowe o różnej długości mogą być wyświetlane obok siebie (w kolumnach) w plikushell
Podano one.txt
i 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
Pokaz:
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
prawie załatwia sprawę, ale nie wyrównuje ładnie kolumn, ponieważ po prostu wypisuje jedną tabulację między kolumnami 1 i 2. Wiem, jak to zrobić z emacsem i vimem, ale chcę, aby wyjście było wyświetlane na standardowe wyjście dla potoku itp.
Rozwiązanie, które wymyśliłem, używa, sdiff
a następnie rur do seda, aby usunąć wyjście, sdiff
dodaje.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Mógłbym stworzyć funkcję i umieścić ją w moim, .bashrc
ale na pewno polecenie do tego już istnieje (lub potencjalnie czystsze rozwiązanie)?