Farklı uzunluklarda 2 sıralanmamış metin dosyası nasıl yan yana (sütunlar halinde) birshell
Verilen one.txt
ve 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
Görüntüle:
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
neredeyse hile yapar, ancak sütun 1 ve 2 arasında sadece bir sekme yazdırdığı için sütunları güzelce hizalamaz. Bunu emacs ve vim ile nasıl yapacağımı biliyorum, ancak görüntülenen çıktının borulama vb. için stdout olmasını istiyorum.
Bulduğum çözüm kullanımları sdiff
ve daha sonra çıktının eklenmesini kaldırmak için sed için borular sdiff
.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Bir işlev oluşturabilir ve bunu kendime yapıştırabilirim .bashrc
ama kesinlikle bunun için zaten bir komut var mı (veya potansiyel olarak daha temiz bir çözüm)?