我实际上是在尝试“整理”CSV 中的大量数据。我不需要“引号”中的任何信息。
尝试了 sed 's/".*"/""/'
但如果有多个部分在一起,它会删除逗号。
我想从中得到:
1,2,"a",4,"b","c",5
到这里:
1,2,,4,,,5
有 sed 向导可以提供帮助吗? :)
最佳答案
你可以使用
sed 's/"[^"]*"//g' file > newfile
见 online sed
demo :
s='1,2,"a",4,"b","c",5'
sed 's/"[^"]*"//g' <<< "$s"
# => 1,2,,4,,,5
详情
"[^"]*"
模式匹配 "
,然后是 "
以外的 0 个或多个字符,然后是 "
。由于 RHS 为空,匹配项将被删除。 g
标志使其匹配每一行上的所有匹配项。
关于bash - 使用 sed (或类似的)删除重复模式之间的任何内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/61252844/