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