Kar*_*ins 4 regex shell sed token
在源代码文件中,我需要更改所有实例,例如
foo_bar('param')
Run Code Online (Sandbox Code Playgroud)
成为
booch['param']=$param
Run Code Online (Sandbox Code Playgroud)
这里,param是一个令牌,它可以变化。它可以是任何东西。
即,在一个文件中,
一切
foo_bar('xxx')
Run Code Online (Sandbox Code Playgroud)
必须成为
booch['xxx']=$xxx
Run Code Online (Sandbox Code Playgroud)
和,
一切
foo_bar('yyy')
Run Code Online (Sandbox Code Playgroud)
必须成为
booch['yyy']=$yyy
Run Code Online (Sandbox Code Playgroud)
等等。我试图通过编写 shell 脚本并使用 sed 来做到这一点。但不知道该怎么做。希望我的询问可以理解。谢谢
sed "s/foo_bar('\([^']*\)')/booch['\1']=$\1/g" infile > outfile
Run Code Online (Sandbox Code Playgroud)
$ echo "foo_bar('xxx')" | sed "s/foo_bar('\(.*\)')/booch['\1']=$\1/"
booch['xxx']=$xxx
Run Code Online (Sandbox Code Playgroud)