linux - shell 中两个文件的列差异

标签 linux bash shell file diff

我想做一件很简单的事情。我有两个文件如下:

FILE 1:
A s1 p1
B s2 p2
C s3 p3

FILE2:
B s4 p4
A s1 p1
C s6 p6

我想从文件中提取第一列和第三列并打印该文件的差异。一种简单的方法是使用两个文件的 cut -f1,3 创建中间文件并进行比较。这正是我想要的输出。但我不想创建中间文件。任何简单的衬垫都可以做到这一点。

还有一点,两个文件都没有排序,所以不能直接使用 join。

最佳答案

试试这个:

diff <(cut -f1,3 file1) <(cut -f1,3 file2)

引用资料:

Compare two files line by line and generate the difference in another file

关于linux - shell 中两个文件的列差异,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/38372561/

相关文章:

linux - 如果[-e $1];然后...不工作

bash - 如何在 Ubuntu 控制台中评估数学?

postgresql - 如何在数据库外使用斜杠命令?

php - 新 VPS 上的 VQmod 不写入 vqcache 文件或日志文件

linux - wx.SYS_COLOUR_WINDOW - 这些系统颜色在哪里设置?

用于创建文件夹和移动文件的 linux bash 脚本

linux - 如何在windows中为要在linux中执行的.sh文件分配执行权限

azure - 可以从 VPN 设置运行,但不能从 RASPHONE 运行 - 自定义脚本(用于更新路由表)失败 (8007026f)

linux - 执行脚本后,PowerShell 窗口始终会被清理

bash - 如何从字符串中删除空格?