Я довольно новичок в bash, так что извините, если это своего рода основной вопрос. Я пытался переименовать кучу mp3-файлов, добавив к именам файлов 1-
, а mv *.mp3 1-*.mp3
, к сожалению, не сработало. Поэтому я попытался написать сценарий, сначала с помощью echo для проверки команд:
for f in *.mp3 ; do echo mv \'$f\' \'1-$f\'; done
Который, кажется, выводит команды, которые мне нравятся, поэтому я удалил эхо, изменив команду на
for f in *.mp3 ; do mv \'$f\' \'1-$f\'; done
Что не удалось. Затем я попытался отправить команды дальше так
for f in *.mp3 ; do echo mv \'$f\' \'1-$f\'; done | /bin/sh
Это сработало, но если бы кто-нибудь мог объяснить мне, почему не работает средняя команда, мне было бы интересно узнать. Или, если есть более элегантный однострочник, который будет делать то, что я хотел, мне было бы интересно увидеть это тоже.