sed命令替换php.ini中的memory_limit

Har*_*rts 2 regex macos bash sed

我的 php.ini 内存限制 = 128M 我想用 sed 命令替换它。

我已经尝试过这个,但它不起作用

sed -i '' 's/memory_limit\s*=\s*\d*M/memory_limit = 1024M/g' ~/Desktop/php.ini 
Run Code Online (Sandbox Code Playgroud)

知道为什么吗?我将其复制到桌面,这样在实际运行之前就不会修改原始版本

Fed*_*zza 5

我对你的正则表达式进行了一些修改,还删除了你的空单字符串,它对我来说工作得很好。

我改变了这个:

sed -i '' 's/memory_limit\s*=\s*\d*M/memory_limit = 1024M/g' ~/Desktop/php.ini 
Run Code Online (Sandbox Code Playgroud)

对此:

sed -i 's/memory_limit\s*=.*/memory_limit=1024M/g' ~/Desktop/php.ini
       Regex change here--^^
Run Code Online (Sandbox Code Playgroud)

控制台输出

$ cat php.ini
asdfasd
memory_limit = 128M
fasd

$ sed -i 's/memory_limit\s*=.*/memory_limit=1024M/g' ~/php.ini

$ cat php.ini
asdfasd
memory_limit=1024M
fasd
Run Code Online (Sandbox Code Playgroud)

顺便说一句,我的 sed 版本是sed (GNU sed) 4.2.2