1

У меня следующая структура папок:

/[randomChars]/icons/icon_[randomNumbersAndChars]

Например:

/awbwaidhawd/icons/icon_1241245
/awbwaidhawd/icons/icon_1552542
/awgawbvbbbb/icons/icon_1552542
/aawbbbbbbbb/icons/icon_1161266

Мне нужно рекурсивно захватить все файлы значков, добавить к ним расширение «.png» и скопировать их в другую папку.

Это означает, что я хочу добиться следующего результата:

/icon_1241245.png
/icon_1552542.png
/icon_1552542.png
/icon_1161266.png

Для этого я хочу использовать стандартные сценарии bash linux.

Как ты мог этого достичь?

РЕДАКТИРОВАТЬ:

Может быть, я должен добавить, что в первом слое больше подпапок, которые не важны. Это означает, что существует, например, папка вроде:

/awbwaidhawd/avatars/

Такие папки не должны быть отсканированы.

Кроме того, в папке "значки" могут быть файлы, которые не называются "icon_xxxxx". Эти файлы не должны быть перемещены тоже.

1 ответ1

0

Может быть, это простое решение:

find /source/directory -type f -execdir cp {} `pwd`/destination/directory/\{\}.png \;

Конечно, вы можете отфильтровать его по имени (--name), если не хотите копировать каждый файл. Обратите внимание, что если есть файлы с одинаковым именем, они будут перезаписаны в /destination/directory/ .

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .