放入文件:行索引和特定模式的总数

时间:2016-07-05 13:35:51

标签: linux bash

我正在尝试发明一个命令,该命令添加到行的文件索引,其中逗号的数量小于5 +行中的逗号数。我们假设结果:

我们假设输入:

'abc','abc','abc','abc,'abc,'abc
'abc','abc','abc','abc,'abc,'abc,'abc
'abc','abc','abc','abc,'abc,'abc,'abc,'abc'

所以在第一行有5个逗号,第二个是6个,第三个是7个 和预期的结果:

Index: 2 Number of commas : 6
Index: 3 Number of commas : 7

我发明了这个命令,如果使用逗号>则将其放入errors.csv行的所有内容中。 50。

awk -F , 'NF > 50' <filename.csv >> errors.csv

对我来说最难的是 - 如何检索和放入文件索引? 你能支持我吗?

1 个答案:

答案 0 :(得分:2)

您可以使用NR的{​​{1}}和NF个变量获得此预期输出:

awk

awk -F"," '{ if(NF > 6) printf("Index: %d Number of commas : %d\n", NR, NF-1); }' filename.csv 为您提供文件中的记录数。