有键值对类型的配置文档,现有新的配置项在新的文件中收录,要求更新原有的及添加没有的配置项到旧的文件中,使用shell更新如下:
#!/bin/bash > createLine cp oldFile mediate #mediate是一个中间文件,用来保存每次修改的状态 while read line; do key=${line%:*} value=${line#*:} if [[ `grep "$key" oldFile` ]]; then #lodFile是旧的配置项文件 sed -i "/$key/s:.*$/: $value/" mediate else echo $line >> createLine fi done < newFile cat createLine >> mediate
原文:https://www.cnblogs.com/liuhqsir/p/13058209.html