Назад | Перейти на главную страницу

Unix перемещает папки с шаблоном

Как переместить вложенные папки с узором в новое место?

Примерный список источников:

Пункты назначения должны быть:

Есть ли способ сделать это с помощью регулярного выражения и move?

Что-то вроде:

mv /data/(.*)/_old/(.*) /archive/$1/_old/$2

Если вам не нужно сложное преобразование пути с помощью регулярного выражения, jyst использует регулярное выражение для полного пути для выбора файлов, как в вашем примере. Это хорошая идея: https://stackoverflow.com/questions/18640612/archive-old-files-only-and-re-construct-folder-tree-in-archive

Решение, сочетающее в себе find и cpio

cd /data

find . -type f -regex "/data/.*/_old/.*" -print0 | cpio -dumpl0 /archive

find . -type f -regex "/data/.*/_old/.*" -print0 | xargs -0 rm

Я не тестировал его, поэтому попробуйте в тестовой среде.