2

構成ファイルのいくつかのパスを置き換えようとしています。そのために、sed を使用しようとしています。

私のファイルは次のようになります。

-Djava.util.logging.config.file=/tmp/tmp/tmp/config bla.bla

/tmp/tmp/tmp/configbla.bla をそのまま置き換えて保持したい。http://regexpal.com/およびhttp://regexr.com?362qcによると、使用する必要があります

sed -e 's/logging.config.file=[^\s]+/logging\.config\.file\=\/new/g' file

しかし、うまくいきません。

4

2 に答える 2

2

これは次のように置き換え/tmp/tmp/...られaaaます:

$ sed 's/\(.*=\)[^ ]* \(.*\)/\1 aaa \2/g' <<< "-Djava.util.logging.config.file=/tmp/tmp/tmp/config bla.bla"
-Djava.util.logging.config.file= aaa bla.bla

まで何でも「保存」=\1ます。次に、スペースまですべてをフェッチします。最後に、残りの文字列を に「保存」し\2ます。

置換は echoing \1+ "new string" +によって行われ\2ます。

于 2013-08-23T12:15:54.090 に答える