我是脚本编写新手,需要帮助来满足我的要求之一。
我有一个包含以下信息的配置文件
Run=YES
我想通过脚本将该值更新为“否”。下面是我使用的脚本。
config_file=/Home/config
sed -e '/\(^Run=\).*/ S//\1No/' $config_file
该脚本不会更新该值。你能帮忙吗?
答案1
目前尚不清楚“不更新值”是什么意思。如果您的意思是/Home/config
文件未更改 - 这就是sed
默认情况下的工作方式,即它读取输入文件,应用更改并将结果输出到控制台。
您可以将输出重定向到不同的文件,然后重命名以覆盖,或者 - 如果您sed
支持此操作 - 使用该-i
标志对文件进行“就地”编辑。
简而言之:
- 任何一个
sed -e '/\(^Run=\).*/ S//\1No/' "$config_file" > "$config_file.bup" mv "$config_file.bup" "$config_file"
- 或者
sed -e -i '/\(^Run=\).*/ S//\1No/' "$config_file"