如果我有 2 个包含以下内容的列表(示例):
list1
x;00:26:82:50:00:00;192.168.1.195;COMPUTER1
x;00:26:82:50:11:11;192.168.1.195;COMPUTER2
x;00:26:82:50:22:22;192.168.1.196;COMPUTER3
list2
x;00:26:82:50:11:11;192.168.1.197;COMPUTER3
当我运行此命令时会显示重复项:
awk -F\; '{print $2}' list* | sort | uniq -d
out: 00:26:82:50:11:11
awk -F\; '{print $3}' list* | sort | uniq -d
out: 192.168.1.195
awk -F\; '{print $4}' list* | sort | uniq -d
out: COMPUTER3
我的问题是:
如何在一行上启动命令 (awk -F\;..etc) 并获得相同的结果?
PD: 没有 &&
谢谢
答案1
您可以直接从命令行使用简单的脚本执行此操作,使用 cut(1) 而不是 awk(1),如下所示:
$ for field in 2 3 4; do cut -d\; -f${field} list* | sort | uniq -d; done