SED:文件或目录不存在。

5

我正在尝试使用sed命令将配置文件中的文本替换为以下行:

sed -e 's/pass/Awmusic12635/2w' -i config.yml

我已经进入文件所在的目录,但每次运行时都会出现错误。
sed: couldn't open file : No such file or directory

这是什么原因造成的呢?
操作系统:Ubuntu 10.10 32位
1个回答

4

将您的命令更改为

$ sed -e 's/pass/Awmusic12635/2' -i config.yml
  • 它将更改每行的第二个passAwmusic12635
  • 如果一行只包含一个单独的pass,则不会被替换
  • 如果要更改每个pass,只需将2second)更改为gglobal
  • w表示写入,但您没有在w后提供文件名,因此您会看到错误消息。
  • -i选项表示就地编辑,因此不需要w

如果我想要写入文件,我会输入 'sed -e 's/pass/Awmusic12635/2w config.yml' -i config.yml。 - awmusic12635
谢谢,那个方法可行。如果我想在替换部分中使用一个变量,我需要使用双引号""而不是''吗? - awmusic12635
1
s/pass/$MYVAR/g 将会把所有的 pass 替换成 $MYVAR(你的变量)。 - kev

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接