我得到了一个逗号分隔的文件与双引号字符串和日期字段。我们得到了“和新的换行符在字符串列如下。
"1234","asdf","with"doublequotes","new line
feed","withmultiple""doublequotes"
希望输出类似
"1234","asdf","withdoublequotes","new linefeed","withmultipledoublequotes"
我试过了
sed 's/\([^",]\)"\([^",]\)/\1\2/g;s/\([^",]\)""/\1"/g;s/""\([^",]\)/"\1/g' < infile > outfile
它删除字符串中的双引号并删除最后一个双引号,如下所示
"1234","asdf","withdoublequotes","new line
feed","withmultiple"doublequotes
是否有办法删除“和新换行符在中间“,和”,
1条答案
按热度按时间wfypjpf41#
您对两个连续引号的替换不起作用,因为它们被放置在对唯一引号的替换之后,此时两个引号中只剩下一个。
我们可以通过重复替换来 * 移除“*(否则替换插入的引号将保留),如果当前输入行的末尾没有引号,则通过加入下一个输入行来 * 换行 *: