MsAnastasiia
@MsAnastasiia
Девочка.

Где ошибка в regex?

Почему условие игнорируется(файл Mosgaz.1.ser.mkv и тд)?
s/(\d+)\.ser/E$1/g;
чтобы автоматически заменять "1.ser" на "E01", "2.ser" на "E02" и так далее

запускаю внутри функции

Template="/script/rename.txt" # файл с шаблоном замен
function prepare(){
for value in "${@}"
do
find "$@" -not -iname "*!qB" -o -not -iname "*!ut"  | ls -r | while read file; do RENAME=$(dirname "$file")/$(echo $(basename "$file") | sed -f "$Template" ); 
if [[ "$file" != "$RENAME" ]]; 
	then 
		mv -fv "$file" "$RENAME" && sleep 0.1s || exit 0
	
	
fi
Massive_file=`echo ${file[@]} ${RENAME[@]} | tr ' ' '\n' | sort | uniq -u`
done
done


Спасибо
  • Вопрос задан
  • 51 просмотр
Пригласить эксперта
Ответы на вопрос 2
@AUser0
Чем больше знаю, тем лучше понимаю, как мало знаю.
Потому что вы где-то допускаете ошибку.

P.S. Каков вопрос - таков же и ответ.
Ответ написан
demon416nds
@demon416nds
Разработчик на чем попало
для отладки regex101.com в помощь
ну и само собой нужно знать скрипт для какого интерпретатора у вас использует регулярку потому что везде поддержка регулярок разная
если исходные имена однообразные проще всего воспользоваться групповым переименованием в файловом менеджере типа тотал коммандера
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Войти через центр авторизации
Похожие вопросы