RHEL系统:如何用单条命令替换配置文件中的machineid值?
单条命令替换配置文件中的机器ID字符串
可以用sed命令结合命令替换完成操作,直接读取/etc/machine-id的内容并替换目标字符串:
sed -i "s/id=machineid/id=$(cat /etc/machine-id)/" /var/somefile.conf
命令说明:
-i:直接修改文件内容(原地编辑),如果需要保留原文件备份,可改为-i.bak,执行后会生成somefile.conf.bak备份文件s/id=machineid/id=$(cat /etc/machine-id)/:替换规则,将id=machineid替换为id=加上/etc/machine-id文件内的机器ID内容,$(cat /etc/machine-id)会自动执行cat命令读取机器ID并插入到替换字符串中
如果/etc/machine-id内的内容包含特殊字符(比如/、&等),可调整sed的分隔符避免替换失败,比如改用#作为分隔符:
sed -i "s#id=machineid#id=$(cat /etc/machine-id)#" /var/somefile.conf
内容的提问来源于stack exchange,提问作者fixern256
相关产品推荐
相关产品推荐

