0

私の中に次のエントリがあります.bashrc

PATH=$PATH:/home/user/abc/bin;export PATH; # ADDED BY INSTALLER - DO NOT EDIT OR DELETE THIS COMMENT

選択したパスの代わりに使用したいと/home/user/abc/bin思います。どうすればこれを行うことができsedますか?

私は次のものを持っています:

sed 's,PATH=[^;]*,PATH=$PATH/home/user/app/2.1,' -i ~/.bashrc

しかし、これはで始まるものをすべて置き換えます。で始まるものだけを選択し、文字列も含めるPATHように指定するにはどうすればよいですか?PATHADDED BY INSTALLER - DO NOT EDIT OR DELETE THIS COMMENT

4

2 に答える 2

0

^次のように、行の先頭()と末尾()にアンカーを使用し$ます。

sed -i.bak -e 's,^PATH=[^;]*\(.*ADDED BY INSTALLER - DO NOT EDIT OR DELETE THIS COMMENT\)$,PATH=$PATH/home/user/app/2.1\1,' ~/.bashrc

.bakセキュリティのために、インプレース編集に接尾辞を追加しました。

于 2012-07-20T22:10:41.847 に答える
0

あなたはそうします:

NEWPATH="your_new_path" sed -i "/ADDED BY INSTALLER - DO NOT EDIT OR DELETE THIS COMMENT/ s:/home/user/abc/bin:$NEWPATH:" .bashrc
于 2012-07-20T23:56:25.060 に答える