如果需要批量将文件夹dir下所有文件中的字符串“test”替换为“TEST”,可以这麽写:
sed -i "s/test/TEST/g" `grep test -rl /dir`
其中使用了两条命令:
(1) grep:在dir文件夹中搜索字符串test,注意这里不需要引号
参数-r表示搜索子目录
参数-l表示输出匹配文件名以及其路径
(2)sed
s/test/TEST/g: 在整行范围内把test替换为TEST。如果没有g标记,则只有每行第一个匹配的test被替换成mytest。
参数-i表示inplace edit,就地修改文件