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

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

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

/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 <<<{}` 

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

  • Пустые строки при выполнении «grep | xargs "в" find -exec "
  • Мне нужно "| xargs -n 1 ", чтобы обойти xargs -I побочный эффект?
  • Почему имена файлов трубопроводов в VIM прерываются, когда я возвращаюсь в оболочку?
  • Использование xargs с вводом из файла
  • Что делает xargs, если он используется без каких-либо параметров?
  • копировать файлы с целевым именем на основе md5, используя find и xargs
  • Как я могу найти файлы, а затем использовать xargs для их перемещения?
  • Как сделать `head` и` tail` на вход с нулевым ограничением в bash?
  • 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

    Linux без какого-либо распространения

    Почему мой хост-компьютер не может подключиться к моей виртуальной гостевой машине по протоколу HTTP?

    Удалено / usr / bin / touch и / bin / touch. Кажется, я ничего не могу установить и не создавать какие-либо файлы?

    Не удалось установить драйвер LAN в RedHat (*** /lib/modules/2.6.32-358.el6.i686/build: нет такого файла или каталога)?

    Плагин vim netrw фактически отображает содержимое файла каталога?

    Несколько liveCD на одном USB-накопителе

    Программа оболочки, которая считывает строки и выходные строки с номерами строк

    Как подключить Skypeforlinux (и другие программы) на Debian 9 через прокси-сервер

    Ключ дома не работает в терминале

    В irssi, как мне отображать предыдущие чаты текущего chan или текущего пользователя, если в bitblee?

    как я могу скрыть «ctags: Предупреждение: игнорирование тега null в"

    После установки ubuntu install + software raid 0 мы видим: отказ от ввода-вывода в автономном устройстве

    Загрузка уже установленной Windows из VirtualBox, установленной в Ubuntu

    find -delete не удаляет непустые каталоги

    Моя Fedora 13 вылетает несколько раз в день

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