Я делаю игру, чтобы помочь изучить команды, и у меня есть каталоги, которые будут все иметь то же количество файлов различных типов в них. Я должен смочь к сменной детали имени файла в каждом каталоге, таким образом, это показывает, что находится в деле файл из того каталога.
например,
Имя Dir 1 "Оранжевое" имя файла 1: имя файла 2 "water_orange.jpeg": 1_water_orange.jpeg" и т.д., и т.д. 15 файлов
Имя Dir 2 имя файла 1 "Индиго": имя файла 2 "water_indigo.jpeg": "1_water_indigo.jpeg" и т.д. и т.д. 15 файлов
У меня есть 7 каталогов с 15 файлами в каждом, и я хочу видеть, возможно ли изменить цветную часть имени файла в каждом каталоге, без должны использовать команду "mv" на каждом отдельном файле.
Я попробовал "эхо sed" команда и с одинарными и с двойными кавычками, но никакой удачей
т.е. повторите sed "s/orange/indigo/g" и повторите sed 's/orange/indigo/g'
любая справка искренне ценится
Что-то как следующее должно работать:
for i in $(ls *.jpeg)
do
mv -v $i $(ls $i | sed 's/orange/indigo/')
done
, Но это очень неуклюжий синтаксис может быть чрезвычайно улучшен, как steeldriver предположил в комментариях ниже со следующим изящным синтаксисом:
for i in *.jpeg; do mv -v -- "$i" "${i/orange/indigo}"; done
Принимают во внимание, что оба из этих примеров для единственных каталогов и не являются рекурсивными...