У меня есть большое количество файлов (~ 300), которые я хотел бы переименовать согласно их пути к файлу.
На данный момент они хранятся следующим образом:
folder/0040000/subfolder/subfolder1/x
folder/0040000/subfolder/subfolder2/y
Я хотел бы переместить или скопировать каждый из этих файлов в "папку" и переименовать их в 0040000x
, 0040000y
, 0040001x
т.д., Чтобы упростить циклический просмотр этих файлов.
У меня нет никакого опыта использования командной строки, так что у кого-нибудь есть идеи? Если исходные файлы можно сохранить на месте, это было бы здорово, но это не обязательно - у меня есть резервная копия.
РЕДАКТИРОВАТЬ: я знаю, что cp 0040000/subfolder/subfolder1/x 0040000x
будет делать это для 1 файла (при условии, что я в настоящее время в folder
), но как мне повторить это?
EDIT2: я попытался:
for i in {0040000..0040001}; do cp $i/subfolder/subfolder2/y "$i - y"; done
Но это ничего не делает.
Решено: пропущены кавычки вокруг пути к файлу
for i in {0040000..0040001};
do
cp "$i/subfolder/subfolder2/y" "${i}-y";
done