You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何筛选file1中首列值未出现在其余文件中的完整行?

解决方案

可以用awk命令快速实现需求,它能一次性处理所有文件并完成匹配判断:

awk 'FNR==NR { arr[$1]; next } !($1 in arr)' file2 file3 file4 file5 file6 file7 file1

命令说明

  • 前半部分FNR==NR { arr[$1]; next }:处理file2到file7这些对比文件时,把每个行的第一列内容存入数组arr的键中,完成后跳过后续逻辑,继续处理下一行
  • 后半部分!($1 in arr):处理基准文件file1时,检查当前行的第一列是否不在之前收集的数组里,若不在则输出整行

如果你的文件命名是规律的(比如file2到file7),可以用通配符简化命令:

awk 'FNR==NR { arr[$1]; next } !($1 in arr)' file{2..7} file1

示例验证

用你提供的file1、file2、file3测试,运行命令:

awk 'FNR==NR { arr[$1]; next } !($1 in arr)' file2 file3 file1

会输出:

Xavier 12  30
Ram    34   57
Jancy   56  34

完全符合预期结果。

内容的提问来源于stack exchange,提问作者user15571

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.07.17 00:12:02