Sed声明无法使用Linux Raspbian

时间:2016-12-19 16:46:33

标签: linux sed raspbian

发出此命令时

sed -i 's/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g' /lib/systemd/system/getty@.service

sed -i s/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g /lib/systemd/system/getty@.service

sed -i s/'ExecStart=-/sbin/agetty --noclear %I $TERM'/'ExecStart=-/sbin/agetty --noclear -a root %I $TERM'/g /lib/systemd/system/getty@.service

我收到以下错误:

sed -i 's/"ExecStart=-/sbin/agetty --noclear %I $TERM"/"ExecStart=-/sbin/agetty --noclear -a root %I $TERM"/g' /lib/systemd/system/getty@.service
sed: -e expression #1, char 21: unknown option to `s'

我在这里做错了什么?

2 个答案:

答案 0 :(得分:1)

sed -i "s#ExecStart=-/sbin/agetty --noclear %I $TERM#ExecStart=-/sbin/agetty --noclear -a root %I $TERM#g"  /lib/systemd/system/getty@.service

以上一行应该去试一试!

你的问题:

  • 应采用以下格式:"s/foo$var1/bar$var2/g"
  • 如果模式/替换也有斜线,则必须转义s/../../斜杠或使用其他分隔符。

答案 1 :(得分:1)

在尝试替换替换部分中涉及/的字符串时,将去限制器字符串从;更改为/之类的其他内容。

sed -i.bak 's;"ExecStart=-/sbin/agetty --noclear %I $TERM";"ExecStart=-/sbin/agetty --noclear -a root %I $TERM";g' /lib/systemd/system/getty@.service