У меня есть большое количество файлов (~ 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

0