Car*_*tto 1 sed text-processing
我需要帮助sed,实际上是 Linux 正则表达式:
我需要更改括号之间的两个参数,例如,如果该行是
mysqli_select_db($par1, $par2)<br/>
Run Code Online (Sandbox Code Playgroud)
我需要将其更改为
mysqli_select_db($par2, $par1)<br/>
Run Code Online (Sandbox Code Playgroud)
我需要一些通用的东西,它们并不总是会是par1和par2。
一种更迂腐的方法sed:
sed 's/\(mysqli_select_db(\)\([^,]*\)\(,[[:space:]]*\)\([^)]*\))/\1\4\3\2)/g' file
Run Code Online (Sandbox Code Playgroud)
s/代替\(开始捕获组 1mysqli_select_db(匹配文字字符串\)结束捕获组 1\(开始捕获组 2[^,]*匹配任何非逗号字符\)结束捕获组 2\(开始捕获组 3,[[:space:]]*匹配逗号和可选空格字符\)结束捕获组 3\(开始捕获组 4[^)]*匹配任何非)字符\)结束捕获组 4)关闭)命令/\1\4\3\2)/g替换为捕获组 1、4、3、2 并关闭)