我想使用 sed 删除文件中算术形式中的 ${} 例如 abc=$(( ${var}+3 )) 到 abc=$(( var+3 ))
我在 sed 中使用位置交换 像
sed -E 's/(\w+\W\$\(\( ) (\$\{) (\w+) (\}) (.*)/\1 \3 \5/g file.txt'
但当我使用时它只提取abc=3
echo abc=$((( ${var}+3 )) | sed -E 's/(\w+\W\$\(\( ) (\$\{) (\w+) (\}) (.*)/\1 \3 \5/'
在终端中,只是为了检查它是否工作正常
它在 shell 脚本上什么也没做我怎么能只删除文件的 ${} 部分?
我用的是 Mac OS,也在 Ubuntu 上试过,但还是一样
最佳答案
使用sed
$ sed -E 's/\$\{([^}]*)}/\1/' input_file
abc=$(( var+3 ))
https://stackoverflow.com/questions/73987550/