0

所以我在一个文件中有以下内容:

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

我想替换所有不包含'tester'的行并将'/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 编辑文件)。使用-i混淆临时文件,出于某种原因,人们通常不希望并认为他们通过使用-i.

于 2013-08-13T02:03:41.530 回答