寻找一个棘手的一个班轮来获得 awk 输出的差异

Aft*_*nix 1 linux shell awk diff

假设我有两个文件,如下所示:

file1

a 23
b 34
c 47

file2
a justin_beiber_sucks
b segmentation fault
c jackson
d nop
Run Code Online (Sandbox Code Playgroud)

现在我想要的是获得两个文件的第一列的差异。我现在正在做

$cat file1 awk '{print $1}'> f1
$cat file2 awk '{print $1}'> f2
$diff -u f1 f2
Run Code Online (Sandbox Code Playgroud)

但是这种方法感觉很迟钝。有什么棘手的方法吗?

问题是我总是将pipes 视为一维的东西,但这里是二维的。我的意思是 diff 的输入必须同时来自两个不同的来源。

起点可能是 awk 脚本将读取两个文件,进行过滤并将结果保存在临时关联数组中,接下来它将调用 diff 并提供其输入。

Sir*_*rex 5

尝试:

diff -u <(awk '{print $1}' file-one) <(awk '{print $1}' file-two)