首先介绍一下自己。
我正在尝试使用sed查找和替换一个词。代码如下:
configFile=ConnectionConfig.xml
sed 's/30??\" authentication=\"someuniqueauthkey/'$1'\" authentication=\"someuniqueauthkey/' $configFile
我会按照以下方式来运行这个文件:
./choosePort.sh 3001
当我运行这段代码时,并没有出现错误提示,例如不良的正则表达式格式,它只是没有替换任何内容,tempXml.xml文件的内容仍然是ConnectionConfig的内容,没有变化。
我想要实现的功能是,在表达式的30??部分识别任何3000-3099之间的数字,我原本以为'?'可以实现这个功能。
我正在尝试更改的输入行是:
<host id="0" address="someip" port="3001" authentication="someauthkey"
提前感谢你的帮助。 (出于安全考虑,文件中的IP和授权密钥已被隐藏)。