我想插入一个文本文件的内容,让我们在几个不同的文件中将其命名为Menu.incl。我知道如何在单个文件上执行此操作,使用sed命令并在目标文件中引入标记:
sed -e '/the Menu is Here/r Menu.incl' F.html > F_Menu.html
我想保留原始文件,以便将来可能演变Menu.incl文件。
我怎么能为html文件集合的每个成员做到这一点?我猜:用find命令?我尝试使用以下命令获得预期结果:
find . -name '*.html' -exec sed -e '/the Menu is Here/r Menu.incl' '{}' +
但我不知道如何在副本中保存每个修改过的.html内容,即不破坏原始的html文件
比你的帮助, Romuald
答案 0 :(得分:1)
尝试使用流程替换:
while read f; do
d=$(dirname "$f")
b=$(basename "$f")
b="new.$b"
sed -e '/the Menu is Here/ r Menu.incl' "$f" > "$d/$b";
done < <(find . -type f -iname "*.html" -print)