使用sed时日期字段之间的转义分隔符

马俊

我试图|在文本上使用sed删除引号中的定界符,该文本包含日期,空值和带有管道定界符的字符串。我使用以下sed可以正常工作,但是在日期之间删除了分隔符。任何帮助将不胜感激。

sed -E 's/(^|[^"|])\|($|[^"|])/\1 \2/g' <file>

输入:

"Southern|Palms"|"AA|None"|"4"|"Ken|Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|

返回值:

"Southern Palms"|"AA None"|"4"|"Ken Coast"|1/11/2019 00:00:00 30/4/2020 00:00:00|"TH"|

预期产量:
"Southern Palms"|"AA None"|"4"|"Ken Coast"|1/11/2019 00:00:00|30/4/2020 00:00:00|"TH"|

通风系统

怎么样:

sed -E 's/(\w+)\|(\w+)/\1 \2/g' testfile.txt

\ w + \ | \ w +像这样在两个单词之间匹配管道符号,<word1>|<word2>并将其替换为两个单词,并用空格隔开<word1> <word2>

如果要匹配引号,请使用:

sed -E 's/("\w+)\|(\w+")/\1 \2/g' testfile.txt

匹配"<word1>|<word2>"并替换为"<word1> <word2>"

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章