如何使用Unix cmd在文件中查找空值

哥谭
Id, name, currency
101,aaa, 10000
102,BBB,
103,ccc, 20000

我知道我的单元格货币列为空。如何使用终端命令找到它?

库萨兰达

假设您的数据如下所示:

Id,name,currency
101,aaa,10000
102,BBB,
103,ccc,20000

然后,您可以使用以下命令在第三个字段中打印不包含数据的行:

$ awk -F , '$3 == ""' file.csv
102,BBB,

-F ,命令行上设置输入字段分隔符为逗号,所以awk将在逗号每行分成单独的字段。条件$3 == ""表示“字段3为空”(“空”表示“甚至不包含空格”),如果为true,则将采取默认操作。默认操作是打印当前行。

您是否还要输出标题行:

$ awk -F , 'NR == 1 || $3 == ""' file.csv
Id,name,currency
102,BBB,

该条件NR == 1 || $3 == ""表示“如果这是第一行,或者第三字段为空”。

您是否要将行号添加到输出的每一行,请使用

$ awk -F , 'NR == 1 || $3 == "" { print NR, $0 }' file.csv
1 Id,name,currency
3 102,BBB,

在这里,代替默认操作,我们触发一个块,该块打印当前行号(NR)以及文件($0)中的原始文本行

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章