在配置文件中搜索并附加一个字符串

时间:2015-05-17 14:41:33

标签: unix search awk sed append

我有一个包含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

但它不起作用。

1 个答案:

答案 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