にあるすべてのファイルの名前を変更しようとしてい*_[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
しかし、それがないと不平を言っています | 正規表現の演算子。私がやりたいことをする簡単な方法はありますか?