2016-06-28 3 views
0

私の文字列がある文字列全体を置き換えるものではありません。同じものを置き換えるには、文字列の半分を置き換えるだけです。 ${RC_VCS}/etc/init.d/vcs$myuserであるのに対し、次のように同じのためdummysedコマンドでは、次のように

私の出力が付属しています

sed [email protected]"/sbin/runuser .* -c \"${RC_VCS}"@"/sbin/runuser - $myuser -c \"${RC_VCS}"@g 

:として、なぜ誰も私を助けてください

[ -f /sbin/runuser ] && eval '/sbin/runuser - dummy -c "/etc/init.d/vcs -start" 

私は、次のコマンドを使用していましたsedコマンドは、置き換え中の文字列の半分を取っているだけで、その文字列の単語をどのように置き換えることができますか?

あなたが行うことができます
+0

[編集ヘルプ](http://stackoverflow.com/editing-help)をご覧ください。 – Cyrus

答えて

0

sed -E 's#(/sbin/runuser -)[^ ]+#\1runuser#' file.txt 

文字列root/sbin/runuser -によって先行されたとき、それはmyuserで文字列rootの唯一のインスタンスを置き換えます。

関連する問題