【发布时间】:2018-05-24 20:57:52
【问题描述】:
我有一个包含
的 csv 文件a,b,c,d,e,f,"gg,hh,ii",j,k
我一直在尝试使用类似的东西
awk -F ',' '{print $7}'
我来了
"gg
但我需要结果为
gg,hh,ii
我可以用一个简单的单行 awk 或 sed 命令完成它而无需任何解析器
请帮忙
【问题讨论】:
-
供将来参考:Aks unix questions on unix.stackexchange.com。例如,unix.stackexchange.com/questions/114754/… 回答您的问题。
echo 'a,b,c,d,e,f,"gg,hh,ii",j,k' | awk -F\" '{print $2}' -
sed 's/[^"]*"\([^"]*\).*/\1/'我在某处读到了这个......我可以修改它以单独删除特定列吗? -
@Ajit 你能澄清你的问题吗?标题说删除一列,而预期输出显示提取特定列
-
sed 's/[^"]*"//; s/".*//'适用于给定的示例,但可能不适用于实际用例。您可能需要添加更多示例