Как можно отображать два несортированных текстовых файла разной длины рядом (в столбцах) вshell
Учитывая one.txt
и 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
Дисплей:
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
почти выполняет трюк, но не выравнивает столбцы должным образом, поскольку он просто печатает одну вкладку между столбцами 1 и 2. Я знаю, как это сделать с помощью emacs и vim, но хочу, чтобы вывод отображался в stdout для трубопроводов и т. д.
Решение, которое я придумал, использует, sdiff
а затем каналы для sed, чтобы удалить sdiff
добавленные выходные данные .
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Я мог бы создать функцию и вставить ее в свою, .bashrc
но наверняка команда для этого уже существует (или потенциально более чистое решение)?