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)
知道为什么吗?我将其复制到桌面,这样在实际运行之前就不会修改原始版本
我对你的正则表达式进行了一些修改,还删除了你的空单字符串,它对我来说工作得很好。
我改变了这个:
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