我正在尝试将所有文件重命名*_[m|f].txt
为*.txt
. 如果一个实例_[m|f]
出现在文件名中,我们可以假设它总是出现在.txt
扩展名之前。
例子:
+-----------------------+---------------------+
| input | output |
+-----------------------+---------------------+
| hello_hi_wefwef_f.txt | hello_hi_wefwef.txt |
+-----------------------+---------------------+
| ya_yo_sup_m.txt | ya_yo_sup.txt |
+-----------------------+---------------------+
我目前正在尝试这个:
for i in *_[m|f].txt ; do
mv "$i" "${i/-_[m|f].txt/.txt}"
done
但它抱怨没有| 正则表达式的运算符。有没有一种简单的方法可以做我想做的事?