BASH - 检查一个CSV中是否存在数字,如果是新CSV,则显示警告

时间:2013-07-31 11:31:27

标签: bash csv sed awk sh

所以我有一个csv文件,其中包含以下内容:

number,name,phone
11111,Dr Spoon, 0115 1234 567
11112,Mrs Eggface, 07711111111

和另一个带有长数字列表的csv:

number
11145
15687
11598
11112

现在我需要以某种方式检查第一个csv中的一行是否在第二个csv中不存在,如果它确实显示它确实存在。有什么建议?干杯!

1 个答案:

答案 0 :(得分:1)

这将打印file1file2中找到第一个字段的所有行:

$ awk -F, 'NR>1&&NR==FNR{a[$1];next}FNR>1&&($1 in a)' file2 file1
11112,Mrs Eggface, 07711111111

添加一个块来格式化打印,但是您喜欢:

$ awk -F, 'NR>1&&NR==FNR{a[$1];next}FNR>1&&($1 in a){print $1,"in both!"}' f2 f1
11112 in both!