我想替换一个多位数的文件中的数字(从1位到3位)。
server.properties
###
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=61
##max-players can be 0 up to 100##
network-compression-threshold=256
resource-pack-sha1=
###
目前已尝试
sed -i -e 's/max-players=[^0-9]/max-players=40/g' /home/TIXB9HQFV0/server.properties
但是没有用。我知道可以替换例如10
使用
sed -i -e 's/max-players=[0-9][0-9]/max-players=40/g' /home/TIXB9HQFV0/server.properties
重点是数字的数量不同。 有任何想法让这个工作吗?
预期输出
###
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=40
network-compression-threshold=256
resource-pack-sha1=
###
答案 0 :(得分:0)
简单sed
可以帮助你:
sed -E 's/max-players=[0-9]+/max-players=40/g' Input_file
输出如下:
###
level-type=DEFAULT
hardcore=false
enable-command-block=false
max-players=40
##max-players can be 0 up to 100##
network-compression-threshold=256
resource-pack-sha1=
###
根据OP,如果你需要在Input_file中进行更改,那么在上面给出的命令中使用sed -i
命令。