Копирование определенных файлов в Linux

  1. 9 г. назад

    Надо скопировать файлы из одной диры в другую, с сохранением структуры диров. Причем скопировать только файлы с одним расширением - mp3.
    МС не дает нормально сделать фильтр (может я косячу) типа **/**/*.mp3 ., причем ствлю галку Dive in subdir. В Тотале такое прокатывает.
    Как скопировать?

  2. find <path> <condition> -exec cp '{}' <copy path> \;

  3. 15.03.2015 19:37:51 отредактировано bvn13

    тебе, соответственно что-то типа:

    find . -type f -name *.mp3 -exec cp '{}' <path-to> \;

    Ответы: (3) (4)
  4. (2) Спасибо, попробую

  5. (2) Не получается - поперли в корень флехи без структуры
    Команда - /media/My Book/Music/WhiteCross$ find . -type f -name *.mp3 -exec cp '{}' /media/9016-4EF8/Music \;

    Ответы: (5)
  6. (4) find . -type f -name "*.mp3" -exec cp '{}' /media/9016-4EF8/Music \;

  7. тебе сохранить структуру надо?

    Ответы: (8)
  8. у cp есть опция --parents

  9. (6) Да, надо

  10. --parents не прокатывает - говорит, что exec missing argument

    Ответы: (13)
  11. Надо видимо скрипт писать.

  12. Поступил проще - поднял винду на виртуале, поставил тотал достал ноут, копирую :)

  13. Попробовал тотал под вайном - нормально запустился

  14. (9) а ты куда его впечатал-то?

    Ответы: (15)
  15. проверил ради интересу, find ~/Музыка -name "*.mp3" -exec cp --parents {} ~/Музыка1/ \;
    предварительно создав Музыка1 понятно. Работает в лучшем виде. Правда пути рисует начиная с home, а не с Музыка, но это уже легко лечится.

    Ответы: (16)
  16. (13) Также, как и ты :(

    Ответы: (17)
  17. Дядя Вася пути рисует начиная с home

    И что получилось (какая структура) в дирах?

    Ответы: (18)
  18. (15) судя по "exec missing argument" похоже все-таки перед cp влепил, а не после.

    Ответы: (19)
  19. (16) Вся та же, но начиная с самого верха, то есть внутри Музыка1 /home/alex/Музыка/и так далее

  20. (17) Нет.

    Ответы: (20)
  21. (19) а что за линь-то?

    Ответы: (21)
  22. (20) Убунта 12.04. Может не тот символ воткнул, типа лишнего пробела между -- . Забудь

или зарегистрируйтесь чтобы ответить!