我会取代所有的 “边缘” 与其它字符引用,然后替换 “内部” 的:
sed -e 's/|"/|_/g' -e 's/"|/_|/g' -e 's/"$/_/' file | sed 's/"/""/g' | sed 's/_/"/g'
它返回:
1234567|9393874|"Hi"|"How are ""you"""
98647489|20370483|"i am ""good"""|"what about ""you"""
循序渐进:
$ sed -e 's/|"/|_/g' -e 's/"|/_|/g' -e 's/"$/_/' a
1234567|9393874|_Hi_|_How are "you"_
98647489|20370483|_i am "good"_|_what about "you"_
$ sed -e 's/|"/|_/g' -e 's/"|/_|/g' -e 's/"$/_/' a | sed 's/"/""/g'
1234567|9393874|_Hi_|_How are ""you""_
98647489|20370483|_i am ""good""_|_what about ""you""_
$ sed -e 's/|"/|_/g' -e 's/"|/_|/g' -e 's/"$/_/' a | sed 's/"/""/g' | sed 's/_/"/g'
1234567|9393874|"Hi"|"How are ""you"""
98647489|20370483|"i am ""good"""|"what about ""you"""
你看'人sed'? – Madbreaks 2014-10-29 17:14:59
我是UNIX新手,所以你有一些想法,请帮助。我会看看sed。谢谢。 – user1891602 2014-10-29 17:16:30
“'|”是否出现在引用区域内,例如'1234567 | 9393874 |“Hi”|“我们使用管道(|)作为分隔符”'? – 2014-10-29 18:10:24