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.txt
và 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.txt
hầ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 sdiff
và sau đó là các đường ống để loại bỏ đầu ra sdiff
thê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 .bashrc
như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 )?