打印特定列具有长度条件的行

nve*_*gos 6 awk csv

我正在解析一个非常大的 csv 文件,其中第 26 列的条目长度必须为 10。我可以看到有些情况下没有条目(这很好),但也有条目长度小于10 或大于 10,那一定是错误的。我正在尝试打印其中一些行以进行探索。

我的尝试是:

awk 'length($26) < 10' my_file.csv | sort -u | cut -d ',' -f 26 | head
Run Code Online (Sandbox Code Playgroud)

但这并没有返回我想要的结果 - 相反,它返回了许多行,其中第 26 列的长度实际上等于 10。我做错了什么?

Dop*_*oti 13

awk -F, 'length($26) != 10 { print }' /path/to/input > bad_field_length.txt
Run Code Online (Sandbox Code Playgroud)