在unix shell脚本中比较来自csv文件的字符串和查找文件

时间:2017-06-11 17:27:33

标签: bash shell csv unix

我是unix脚本的新手。我有一个要求,我需要检查csv文件中的字符串与另一个csv文件中的一组字符串。我的file1将具有如下值, 的文件1

task desc
1    network error in there in line one.
2    data error is there in line three.
3    connection is missing from device.
4    new error is there

file2将拥有标准查找数据 的 file2的

Network error
data error
connection is 

file2是静态的,我的file1每天都在变化。我的要求是检查file1中的每一行,并检查file2中的字符串。如果file1中有任何新的错误条目,则需要将整行写入名为file3的新文件中。从日志文件中检查此类日常标准错误并报告新错误。例如,从上面的示例中,输出file3需要如下所示。

file3的

4    new error is there

1 个答案:

答案 0 :(得分:0)

+ grep 解决方案:

tail -n +2 file1 | grep -ivf file2 > file3
> cat file3
4    new error is there
  • tail -n +2 file1 - 从第2行开始输出file1的最后一部分

grep 选项:

  • -f - 从文件中获取模式

  • -i - casesensitive matching

  • -v - 反转匹配感,选择不匹配的行