0
我刚刚遇到最令人困惑的(对我来说)现象。超级用户运行时sed工作方式不同吗?
我有一个sed一个衬垫
sed 's/^(\*Default.*:) Letter/$1 A4/g' /usr/share/ppd/hplip/HP/HP-*
这不正是我想要的东西,并取代 “* DefaultPaperDimension:字母 ” 与 “* DefaultPaperDimension:A4”
但是当我运行
sudo sed 's/^(\*Default.*:) Letter/$1 A4/g' /usr/share/ppd/hplip/HP/HP-*
没有匹配或替换。 “* DefaultPaperDimension:字母 ”仍然“* DefaultPaperDimension:Letter”
为什么是这个?? 8-/
背部引用不应该是'\ 1'而不是'$ 1'? – nu11p01n73R
一些老版本的'sed'支持'$ n'风格的反向引用,但是用'\ 1'来代替它,看看它是否有效。我无法复制,但我怀疑是参数扩展问题。 – miken32
你使用哪个sed版本和操作系统/发行版? – Cyrus