Я новичок в bash, так что извините, если это основной вопрос. Я пытался переименовать кучу mp3-файлов, чтобы добавить 1-
к их именам, и mv *.mp3 1-*.mp3
, к сожалению, не сработало. Поэтому я попытался написать сценарий, сначала с эхом для проверки команд:
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
Что сработало, но если бы кто-нибудь мог просветить меня, почему средняя команда не работает, мне было бы интересно это узнать. Или, если есть более элегантный однострочник, который делал бы то, что я хотел, мне было бы интересно на это посмотреть.