Làm cách nào để 2 tệp văn bản chưa được sắp xếp có độ dài khác nhau có thể được hiển thị cạnh nhau (theo cột) trong mộtshell
Cho one.txtvà 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
Trưng bày:
apple The quick brown fox..
pear foo
longer line than the last two bar
last line linux
skipped a line
paste one.txt two.txthầu như thực hiện thủ thuật nhưng không căn chỉnh các cột một cách đẹp mắt vì nó chỉ in một tab giữa cột 1 và cột 2. Tôi biết cách làm điều này với emacs và vim nhưng muốn đầu ra hiển thị thành stdout cho đường ống vv.
Giải pháp mà tôi đưa ra là sử dụng sdiffvà sau đó là các đường ống để loại bỏ đầu ra sdiffthêm vào.
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
Tôi có thể tạo một hàm và gắn nó vào .bashrcnhưng chắc chắn một lệnh cho điều này đã tồn tại (hoặc có khả năng là một giải pháp sạch hơn )?