我有一个包含200个以上文件夹的文件夹,每个文件夹都有一个名为default.conf的文件。问题是我想搜索并附加在所有default.conf文件中:$ site / 例如我有:
/var/rSave/$site/default.conf
并且所有default.conf都是一行包含:root_path / var / rSave / 所以我想将default.conf文件中的所有行更改为下一行:
root_path /var/rsave/sitename.com /
这就是我尝试执行下一个shell的原因:
for site in $(ls /var/rSave/); do
sed -i "s/ snapshot_root \/var\/rSave\/ / snapshot_root \/var\/rSave\/$site\/ /g" /var/rSave/$site/default.conf ;
done
但它不起作用。
答案 0 :(得分:4)
您输入了snapshot_root而不是root_path
for site in $(ls /var/rSave/); do
sed -i "s/root_path \/var\/rSave\//root_path \/var\/rSave\/$site\/ /g" /var/rSave/$site/default.conf ;
done