我需要同时覆盖许多服务器上的一些信息,并且我想在创建备份的同时修改origianl配置文件,所有这些都可以用sed完成吗,只是出于好奇?
有人提到了这个模式,但不起作用。
new_port="..."
sed -i .bak "s/port=2334/${new_port}/g"发布于 2021-11-25 08:51:35
sed -i .bak "s/port=2334/${new_port}/g"是您正在寻找的内容;修复方法是删除-i之后的空间:
sed -i.bak "s/port=2334/${new_port}/g"如果new_port只有端口号,则还必须重复port=:
sed -i.bak "s/port=2334/port=${new_port}/g"只有当您在sed表达式之后指定要处理的文件的名称时,所有这些才能工作。
发布于 2021-11-25 19:17:33
用awk
awk '{print $0}' file >file.backup && awk '{gsub(/port=2334/,"port=${new_port}",$0);print }' file >tmpfile && mv tmpfile filehttps://unix.stackexchange.com/questions/678998
复制相似问题