如何获得彼此平行的两个 cat 命令的输出

F.D*_*own 11 command-line text-processing

如果我运行cat file1.txt,我有:

linux mint
ubuntu
cent-os
fedora
debian
kali linux
arch linux
kubuntu
open suse
deepin
parrot os
Run Code Online (Sandbox Code Playgroud)

然后cat file2.txt给出:

linux mint
cent-os
fedora
kali linux
arch linux
kubuntu
open
deepin
parrot
ubuntu
debian
Run Code Online (Sandbox Code Playgroud)

但是如果我想输出这样的结果怎么办?

file1.txt                      file2.txt

linux mint                     linux mint
ubuntu                         cent-os
cent-os                        fedora
fedora                         kali linux
debian                         arch linux
kali linux                     kubuntu
arch linux                     open
kubuntu                        deepin
open suse                      parrot
deepin                         ubuntu
parrot os                      debian
Run Code Online (Sandbox Code Playgroud)

bln*_*nks 21

您需要的是paste将行并排粘贴到文件中的命令:

paste file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)

这正是您想要的输出。

有关更多选项,请检查man paste

  • 附加信息:`diff -y file1.txt file2.txt` 也可能很有用,它并排显示相似文件之间的差异。 (4认同)

Raf*_*ffa 6

pr 像这样使用时会做你想做的事:

pr -mt file1.txt file2.txt
Run Code Online (Sandbox Code Playgroud)
  • -m 将并行打印所有文件。
  • -t 将省略页面标题和预告片。

示例输出:

linux mint              linux mint
ubuntu                  cent-os
cent-os                 fedora
fedora                  kali linux
debian                  arch linux
kali linux              kubuntu
arch linux              open
kubuntu                 deepin
open suse               parrot
deepin                  ubuntu
parrot os               debian
Run Code Online (Sandbox Code Playgroud)