【发布时间】:2018-11-21 02:33:24
【问题描述】:
我想根据匹配另一个文件中的字符串来删除文件的所有行。这是我用过的,但它只删除了一些:
grep -vFf to_delete.csv inputfile.csv > output.csv
以下是我的输入文件 (inputfile.csv) 中的示例行:
Ata,Aqu,Ama3,Abe,0.053475,0.025,0.1,0.11275,0.1,0.15,0.83377
Ata135,Aru2,Aba301,A29,0.055525,0.025,0.1,0.082825,0.075,0.125
Ata135,Atb,Aca,Am54,0.14695,0.1,0.2,0.05255,0.025,0.075,0.8005,
Adc,Aru7,Ama301,Agr84,0.002075,0,0.025,0.240075,0.2,0.
我的文件“to_delete.csv”如下所示:
Aqu
Aca
所以任何包含这些字符串的行都应该被删除,在这种情况下,第 1 行和第 3 行应该被删除。示例所需的输出:
Ata135,Aru2,Aba301,A29,0.055525,0.025,0.1,0.082825,0.075,0.125
Adc,Aru7,Ama301,Agr84,0.002075,0,0.025,0.240075,0.2,0.
【问题讨论】:
-
不清楚,请在您的帖子中提及更清晰的示例,然后告诉我们?
-
我刚刚用更多示例和所需输出示例更新了问题。我希望这很清楚?
-
能否请您试一下我的代码并告诉我?
-
当你尝试你的命令时,实际输出是什么?
-
@RavinderSingh13 - 基于 wc -l 它没有删除任何行。 @ Benjamin W - 它删除了一些行但不是全部。我认为它只删除了字符串首先出现的行?但是几千行就很难说了。
标签: awk grep match carriage-return