0

だから私はファイルに次のものがあります:

/icon.png
/my/path/tester/icon.png
/logo.png
/my/path/tester/logo.png

「テスター」を含まないすべての行を置き換え、先頭に「/my/path/tester/」を追加したい... 残す:

/my/path/tester/icon.png
/my/path/tester/icon.png
/my/path/tester/logo.png
/my/path/tester/logo.png

また、sed を使用してその場でファイルを編集したいと思います。

前もって感謝します!

4

1 に答える 1

2

sedオプションをサポートする がある場合(-i例: gnu-sed):

sed -i '/tester/!s@^@/my/path/tester@' file

これはあなたが求めていることを行いますが、堅牢ではないことに注意してください。おそらく、'tester' ではなく '/tester/' に一致しない行に置換を限定したいでしょうが、実際にはこの-iオプションには何の意味もありません ( sed edit file in placeを参照してください)。を使用-iすると、一時ファイルが難読化されます。何らかの理由で、一時ファイルを使用して回避したいと考える人が多いためです-i

于 2013-08-13T02:03:41.530 に答える