gpt4 book ai didi

sed 行为与 &(&符号)

转载 作者:行者123 更新时间:2023-12-04 17:33:40 24 4
gpt4 key购买 nike

试图清理一些看起来像的 xml 文本

Forest & Paper Products Manufacturing

使用 sed 命令,例如
 sed "s/ \& / & /"

但是一旦 sed 完成了文件,我的输出看起来像
Forest & amp; Paper Products Manufacturing

不明白为什么 sed 在 & 后面放一个空格

我可以解决这个问题:
sed "s/ \& / \& /"

但是为什么我需要用\前缀引用 &

最佳答案

在更换部件中,&表示匹配的字符串 \0 .所以如果你想要文字 &在替换零件中,您必须逃脱它。

例如

kent$ (master|✔) echo "foo"|sed 's/.*/&_bar/'   
foo_bar

kent$ (master|✔) echo "foo"|sed 's/.*/\&_bar/'
&_bar

从 sed 的 INFO 页面获取的相关信息:
   The REPLACEMENT can contain `\N' (N being a number from 1 to 9,
inclusive) references, which refer to the portion of the match which
is contained between the Nth `\(' and its matching `\)'. Also, the
REPLACEMENT can contain unescaped `&' characters which reference the
whole matched portion of the pattern space


To include a literal `\', `&', or newline in the final replacement, be   
sure to precede the desired `\', `&', or newline in the REPLACEMENT with
a `\'.

关于sed 行为与 &(&符号),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32750591/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com