sed
実際、Linux正規表現を使用して助けが必要です。
たとえば、行が次の場合は、角かっこの間に2つのパラメータを変更する必要があります。
mysqli_select_db($par1, $par2)<br/>
私はそれに変更する必要があります。
mysqli_select_db($par2, $par1)<br/>
par1
一般的なものが必要ですが、必ずしもそうではありませんpar2
。
ベストアンサー1
より賢明なアプローチsed
:
sed 's/\(mysqli_select_db(\)\([^,]*\)\(,[[:space:]]*\)\([^)]*\))/\1\4\3\2)/g' file
s/
変える\(
グループ 1 キャプチャ開始mysqli_select_db(
リテラル文字列の一致\)
キャプチャグループ1の終了\(
グループ2キャプチャ開始[^,]*
カンマ以外のすべての文字と一致します。\)
エンドキャプチャグループ2\(
グループ3キャプチャ開始,[[:space:]]*
カンマとオプションの空白文字の一致\)
エンドキャプチャグループ3\(
グループ 4 キャプチャ開始[^)]*
)
文字以外の文字と一致\)
エンドキャプチャグループ4)
閉じる)
コマンド/\1\4\3\2)/g
キャプチャグループ1、4、3、2と交換して閉じます。)