vat*_*sug 3 vim text-processing
假设我在 shell (bash) 脚本中有一些语句,例如
var=`cat file.txt`
echo "Date is: `date`"
Run Code Online (Sandbox Code Playgroud)
我想将反引号符号转换为$()
符号,如:
var=$(cat file.txt)
echo "Date is: $(date)"
Run Code Online (Sandbox Code Playgroud)
如何在 Vim 中使用搜索/替换对整个文件执行此操作?
你可以试试
:% s/`\([^`]*\)`/$(\1)/gc
Run Code Online (Sandbox Code Playgroud)
g
使得全球(对线中的所有条目),c
使vim
询问用户关于每个更换。
但它不适用于嵌套反引号和多行代码。仅适用于成对的反引号。
您也可以退出vim
并sed
用于此:
sed -n -i.backup 'N; ${s/`\([^`]*\)`/$(\1)/g; p; q}; b' filename
Run Code Online (Sandbox Code Playgroud)
它将与多行 backtrics 一起使用,但没有嵌套。
归档时间: |
|
查看次数: |
374 次 |
最近记录: |