想用grep和sed结合,修改文件中的某一行,但是却将文件中的所有相关行都修改了,想实现只修改某一行
grep "info.servername" /usr/local/ucsys/config.properties|sed "s/=.*$/= pserver/" /usr/local/ucsys/config.properties
如图所示,我只想修改info.servername= pserver 这一行,但是命令执行后,修改了好多行
暂无思路
只想修改info.servername= pserver 这一行
试试:sed -r "s/^info.servername=(.*)/info.servername= pserver/" /usr/local/ucsys/config.properties
限定一下开头呢
修改一行的话试一下这个方法:
sed -i "你要修改的行数c 修改的内容=修改的值" /路径
eg: (我之前写的脚本就这样实现的)
sed -i "2c LocalServerIP=123321123" /usr/local/DataAggre/config/LocBaseDataAgg.ini