我有以下代码,通过在文件夹名称的开始处删除数字来重命名,但我需要的是从最后删除字母和数字的东西。使用bash删除文件夹名称中的后缀
shopt -s extglob
for f in "[email protected]"; do
fpath="${f%/*}"
fname="${f##*/}"
mv "$f" "$fpath"/"${fname/#+([[:digit:]])_/}"
例
Input - 001_AA_0001_AG1_V1_CD
Output - 001_AA_0001
所以删除后'_'什么? –
anubhava
是的,您的示例数据不明确。规则是否真的会在第三个'_'字符后删除所有内容?还是删除4位数字后的所有内容?要么 ??你看过你的所有文件夹,这个例子能解决所有的情况吗?考虑更新您的Q以消除有关问题范围的问题。祝你好运。 – shellter
是的,我想在第三个'_'字符后删除任何东西。我正在运行bash脚本作为Automator工作流的一部分。 – magicbeansvfx