長さの異なる 2 つの並べ替えられていないテキスト ファイルを並べて(列に)表示するにはどうすればよいですか?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の間に1つのタブを出力するだけなので、列がうまく整列しません.emacsとvimでこれを行う方法は知っていますが、パイプなどのために出力をstdoutに表示したい.
私が思いついた解決策は、使用してsdiff
からsedにパイプして出力を削除することsdiff
です。
sdiff one.txt two.txt | sed -r 's/[<>|]//;s/(\t){3}//'
関数を作成して自分に貼り付けることはできますが、.bashrc
これに対するコマンドは既に存在します (または、よりクリーンなソリューションになる可能性があります)。