在https://stackoverflow.com/questions/12174947/removing-part-of-a-filename-for-multiple-files-on-linux#12175160,一段示例代码使用 Bash 功能,其中对变量内容的字符串操作无需显式调用sed
或任何类似工具即可完成:
mv "$filename" "${filename//thisstringgetsremoved/}"
这里使用了什么 Bash 功能,它是在后台调用 sed 还是依赖于正则表达式的内置实现(如果是这样,这里可以使用什么风格的正则表达式)?
答案1
这是参数扩展,并且它内置于 shell 中,它不依赖于sed
.该模式不是正则表达式,而是文件名模式。
基本参数展开为由 POSIX 指定; bash 实现添加了一些扩展。