所以我在文件中有以下内容:
/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编辑文件。
提前致谢!
答案 0 :(得分:2)
如果您的sed
支持-i
选项(例如,gnu-sed):
sed -i '/tester/!s@^@/my/path/tester@' file
请注意,这符合您的要求,但不健全。您可能希望将替换限制为与' / tester /'不匹配的行。而不是“测试人员”,而-i
选项确实没有意义(见sed edit file in place)。使用-i
会对临时文件进行模糊处理,因为某些原因人们通常不希望这样做,并认为他们可以使用-i
来避免这种情况。