【发布时间】:2014-06-25 20:24:04
【问题描述】:
当使用 bash 风格的 search-and-replace parameter expansion 时,有没有办法在模式中引用捕获的子字符串?
例如,我想在以“(some digit).mp3”结尾的文件名中插入前导0。这些文件的名称中有其他括号,所以我需要寻找最接近结尾的接近括号:
${x/\(([[:digit:]]\).mp3)/\(0}
这不太有效,b/c 它不会重新替换字符串的前一个结尾。
在 bash 或 zsh 中有没有办法引用捕获的字符串? $BASH_REMATCH 似乎不起作用。
【问题讨论】:
-
查看您链接的页面,似乎无法捕获部分搜索,更不用说引用它们了。您最终可能不得不使用
sed来完成工作。 -
您要为某个数字部分还是整个文件名添加前缀?
-
“某位数字”。