У меня есть следующий код, который переименовывает, удаляя цифры в начале имени папки, но мне нужно что-то, что удалит буквы и цифры с конца.Удаление суффикса в имени папки с помощью 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