Скрыть n директорий

Я хотел бы выполнить некоторую обработку файлов, содержащих 6 каталогов в моем дереве (например, копирование). Имена каталогов на каждом уровне каталога полностью нерегулярны (случайные числа и буквы), а на последнем уровне есть что-то вроде 20 разных каталогов, где находятся мои файлы.

Пример одного случая:

cp /000157/DZW123/AHG345/DFR987/000RE7/0025RTZ/file.xxx /destination/file.xxx 

Тот же случай с другим последним уровнем (среди 19 других):

 cp /000157/DZW123/AHG345/DFR987/000RE7/1298FGT/file.xxx /destination/file.xxx 

Но совершенно другое для многих других случаев:

 cp /001154/CVS456/SAQ452/FRO921/000VG5/0032RRT/file.xxx /destination/file.xxx 

Из-за разных случаев цикл не помог бы. Лучше всего, если бы было решение, позволяющее мне перейти на 6 каталогов вниз в дереве для каждой отдельной ветки (независимо от наименования). Я пробовал cd + n, но это не работает.

Использовать find для этой работы

 find / -mindepth 7 -maxdepth 7 -iname '*.txt' -exec echo cp {} /destination \; 

Измените *.txt шаблон на свои нужды и удалите echo если вам нравится то, что вы видите на экране.

Предполагая, что у вас есть файлы только на конечном уровне структуры каталогов, вы можете использовать find с xargs для копирования файлов, как xargs ниже.

 find . -type f -mindepth 7 -maxdepth 7 -print0 | xargs -0 cp -t /some/destination/directory 

Это прекрасно работает с пробелами в именах подкаталогов и пробелами в именах файлов.