最初,我只有一个文件可以阅读某些条件。这是代码......
awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true"){counter++}}END{print id,counter}' file1
此代码正常运行。
但是现在,我必须阅读2个文件。 这两个文件之间的唯一区别是file2有1个额外的列。 file1有16列,file2有17列。将有一个实例,file1中的一行将存在于file2中(加上额外的列)
可能的情况:
现在,我的问题是如果我将file2添加到上面的代码中,就像这样......
awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true"){counter++}}END{print id,counter}' file1 file2
如果两个文件中都存在该条目,awk 将对同一条目计数两次。
问题: 有没有办法检查复制除了合并file1和file2?
答案 0 :(得分:0)
您可能想要说:
awk -vid="$name" -F',' 'BEGIN{counter=0;}{if($15=="true" && !done[$1,$2,$3,$4,$5,$6,$7,$8,$9,$10,$11,$12,$13,$14]++){counter++}}END{print id,counter}' file1 file2
BTW原始代码中的片段“END {print name,counter}”应该是“END {print id,counter}”的拼写错误,不是吗?