Скрипт для поиска каталогов для файлов .deb и копирования их в другое место

Если у меня есть каталог A, который содержит каталоги B, C, D, мне нужен скрипт, который ищет в

каталогах B, C, D файлы .deb и, если он найден, копирует их в выбранное место.

Этот скрипт должен уменьшить усилия ручного поиска и копирования.

Есть идеи?

0
задан 25 January 2014 в 17:52

2 ответа

Если вам не нужен рекурсивный поиск, тогда должно работать простое расширение bash brace

cp -t /location/you/choose/ /path/to/A/{B,C,D}/*.deb

. Если вы хотите рекурсивно искать во всех подкаталогах A, то, вероятно, наиболее переносимым способом будет

find /path/to/A -name '*.deb' -exec cp -t /location/you/choose/ {} +

. Если ваша оболочка его поддерживает, вы также можете использовать опцию оболочки globstar. сделать cp рекурсивным без использования find - типа shopt или help shopt в приглашении оболочки для получения дополнительной информации. Если вам нужно исключить определенные подкаталоги, вы можете добавить -prune в команду поиска.

Как всегда, вам нужно заранее подумать о том, что вы хотите сделать в случае неуникальных имен файлов - вы можете добавить -n или --no-clobber к команде cp или использовать опцию --backup=numbered. В случае файлов deb это, вероятно, не имеет значения, поскольку (за исключением повреждения файлов) любые неуникальные имена файлов должны соответствовать точным дубликатам файлов.

0
ответ дан 25 January 2014 в 17:52
  • 1
    Это работало на меня. Я также скопировал по brcmfmac43602-pcie.ap.bin на всякий случай. Отметьте, мой MacBook соединяет завершение работы, и приостановить. Я подозреваю, что это может произойти из-за этих драйверов. – msdin 3 July 2015 в 03:52

Не похоже, что ты что-то пробовал, но все равно. Вот строка, man find будет говорить, если вы действительно заинтересованы.

find /path/to/A -name "*.deb" -exec mv {} /path/to/new_directory \; # Moves
find /path/to/A -name "*.deb" -exec cp {} /path/to/new_directory \; # Copies

Переместит файлы .deb из A (рекурсивный поиск) в new_directory. Кстати, это больше связано с * nix, чем с Ubuntu.

0
ответ дан 25 January 2014 в 17:52

Другие вопросы по тегам:

Похожие вопросы: