sed 从 file.txt 插入多个文件

use*_*556 4 sed

我有这个 sed & find 命令

find /home/www/ -name footer.php -exec sed -i 's/<\/body>/testmoe\n<\/body>/'
Run Code Online (Sandbox Code Playgroud)

我需要用 file.txt 中的数据替换 testmoe 所以它会是,

find /home/www/ -name footer.php -exec sed -i 's/<\/body>/file.txt\n<\/body>/'
Run Code Online (Sandbox Code Playgroud)

任何纠正我的命令的建议

Edu*_*nec 11

为了稍微改进@Iain 的回答,我认为您可以像这样一次通过:

#!/bin/sh
sed -i '/<\/body/ {
    r /path/to/file
    a </body>
    d
}' $1
Run Code Online (Sandbox Code Playgroud)

这将搜索</body>,将文件插入缓冲区,附加</body>到缓冲区,然后删除原始</body>,正如 Iain 正确指出的那样无法移动。