Скопируйте файлы с родительской папкой в ​​новый каталог

Я хочу скопировать некоторые файлы и включить их родительский каталог в процесс.

Текущая структура аналогична:

/Module1/A/downloads/m13312/file.pdf /Module1/A/downloads/m17312/file.pdf /Module1/B/downloads/m18312/file.pdf /Module2/A/downloads/m19312/file.pdf 

Я хочу захватить последние два раздела пути, чтобы в итоге:

 /mydir/m13312/file.pdf /mydir/m17312/file.pdf /mydir/m18312/file.pdf /mydir/m19312/file.pdf 

Я попытался использовать cut и awk чтобы получить правильные результаты, но я просто не могу найти путь к правильному возврату. Вот пример, чтобы просто откликнуться на то, что мне нужно (пока я еще не добрался до копии):

 find . -type 'f' -path '*downloads*' -print0 | xargs -0 -I {} echo `cut -d/ -f4-5 <<<{}` 

Это просто печатает весь путь, поэтому я знаю, что пока не могу его использовать.

  • использование измененного содержимого файла в качестве аргументов
  • Передача нескольких аргументов в середине команды с помощью xargs
  • Как скопировать список файлов и настроить имена файлов назначения на лету?
  • Как подключить вывод поиска к другому вызову find
  • вывод искажается при параллельном запуске «xargs ls»
  • Удаление некоторых из самых больших файлов в каталоге
  • Как мне перебирать строки в STDIN и запускать команду оболочки?
  • найти . . * -тип f -print0 | xargs -0 sudo chmod 664; не работает
  • 2 Solutions collect form web for “Скопируйте файлы с родительской папкой в ​​новый каталог”

    Если ваш pax поддерживает опцию -0 :

     find . -type 'f' -path '*downloads*' -print0 | pax -rw0s'|.*downloads/||' /mydir 

    Это должно сделать это:

     for file in /Module*/*/downloads/m13312/file.pdf do file_directory="/mydir/$(basename "$(dirname "$file")")" mkdir -p "$file_directory" cp "$file" "$file_directory" done 
    Interesting Posts

    Как редактировать загрузочные параметры установщика Debian?

    Как я могу запустить системный блок при приостановке до отключения сети?

    синхронизировать конкретный файл рекурсивно, но только в подкаталогах, присутствующих в пункте назначения

    Команда sudo apt-get не работает в Linux Mint

    Скопировать файл из cifs mount при изменении файла

    PGrep в моем скрипте оболочки: не считая самого скрипта

    Текстовые аннотации и добавления изображений в PDF-файл с использованием бесплатного программного обеспечения

    Невозможно использовать sudo и другие приложения

    Установка mplayer в Linux

    Внедрение программного обеспечения RFC 2544 / Y1564

    Zsh: завершение каталога хеширования

    Получите время, когда программа nohup R заканчивается

    / usr, необходимо сделать его более крупным или монтировать в другом месте

    Ограничение потребления ресурсов процесса в CentOS 5 (ядро 2.6.18)

    Как, на ubuntu, запускать как сервис / запустить под наблюдением

    Linux и Unix - лучшая ОС в мире.