用 sed 替换插入符号
Posted
技术标签:
【中文标题】用 sed 替换插入符号【英文标题】:Replacing caret characters with sed 【发布时间】:2013-03-19 04:45:32 【问题描述】:我在一个文件中有如下所示的行:
FA General,1234567^^^^^FA Student Letter- General^<<undefined>>^\\path\to\file.RTF
我正在尝试使用 sed 将插入符号替换为逗号。如果我使用:
sed 's/\^/,/' file.txt
没有任何变化。我也试过了
sed 's/\\^/,/' file.txt
sed 's/^^/,/' file.txt
我在这里错过了什么?
【问题讨论】:
【参考方案1】:要替换所有插入符号吗?我敢肯定,如果您仔细查看结果,您会发现第一个插入符号已被替换。所以试试这个:
sed -e 's/\^/,/g' file.txt
注意g
表示全局替换,即所有匹配项。
【讨论】:
你是对的。我不敢相信我错过了。非常感谢!【参考方案2】:我无法复制这个问题
set 'hello^world'
echo $1
sed 's/\^/,/' <<< "$1"
输出
hello^world
hello,world
【讨论】:
【参考方案3】:或者试试y
命令:
sed 'y/^/,/'
【讨论】:
以上是关于用 sed 替换插入符号的主要内容,如果未能解决你的问题,请参考以下文章