Я искал все, как использовать функцию {} в именах файлов unix. Например, у меня есть каталог, который имеет подкаталоги, названные как ID #. В каждом поддиректории есть записанный аудиофайл, названный как конкретный идентификатор ID вопроса. Следующая команда:Какое использование фигурных скобок в командах unix?
for file in */1-01*; do echo "$file"; done
перечислит имена звуковых файлов в каждом подкаталоге текущего каталога. Это дает мне список:
809043250/1-01-20131.wav
813777079/1-01-20131.wav
817786199/1-01-20131.wav
827832538/1-01-20131.wav
834820477/1-01-20131.wav
Я хочу, чтобы переименовать каждый из указанных файлов .wav как другой ID #, поэтому он должен в конечном итоге, как это:
809043250/5001.wav
813777079/5001.wav
817786199/5001.wav
827832538/5001.wav
834820477/5001.wav
Так как я используйте обозначение ${file/firstOccurance/replaceWith}
, если я хочу использовать команду mv
, чтобы сохранить идентификатор человека (809043250, 813777079 и т. д.) и первый /
, но снять с 1-01-20131.wav
и закрепить на 5001.wav
?
Я не знаю, как это искать на google. Это называется регулярными выражениями (я так не думаю ...)? Обозначение скобок? шаблоны имен файлов? Кто-нибудь знает о хорошем объяснении этого?
Спасибо!
СПАСИБО !!! Если google - это карта, не зная, что ключ для поиска очень расстраивает! К счастью, люди могут переводить неверные ключи для исправления и возвращать ценности! – ejsuncy