我有一个CSV文件,里面有一些错误。我想要做的是忽略所有没有6个双引号(")的行。
简而言之,它应该是类似的东西;
cat output.txt | grep -v '"*"*"*"*"*"'
当然上面的命令不会起作用..但这是我正在思考的方向......也许AWK会是更好的选择吗?
答案 0 :(得分:4)
*
是glob模式而不是正则表达式模式。
您可以在grep
中使用此正则表达式:
grep -Ev '^([^"]*"){6}' file
使用awk,您可以使用"
作为输入字段分隔符:
awk -F '"' 'NF<7' file