Как rsync файлы с номером имени файла больше, чем число?

Я получил несколько сотен папок, все с одинаковой структурой имен, ## *, мне нужно сделать резервную копию с помощью rsync всех папок в диапазоне от 00 до 15_ на диск и от 16_ до 99_ на другой диск. Как я могу отфильтровать каждый список, чтобы передать это rsync ?.

drwxrwxrwx+ 10 user user 4096 Feb 16 2017 07_MrSmith drwxrwxrwx+ 3 user user 4096 Mar 24 12:55 10_Other_File drwxrwxrwx+ 4 user user 4096 Aug 23 14:33 15_New_Interesting_folder drwxrwxrwx+ 9 user user 4096 Aug 31 17:23 16_SimpleFolderNaming drwxrwxrwx+ 3 user user 4096 May 8 12:53 17_VeryCurious drwxrwxrwx+ 6 user user 4096 Mar 28 12:38 17_MantinanVinil drwxrwxrwx+ 3 user user 4096 Mar 28 11:47 17_AnotherFolderWith_Subfolders 

Я попытался найти параметры команды «find», «xargs» или «rsync», которая позволяет сравнивать подмножества с числами, но я не могу найти решение этого.

Когда я делаю:

 find -maxdepth 1 -regextype posix-extended -regex '..[0-1][0-5]_*' 

для фильтрации папок в пределах диапазона 00-15 ничего не возвращает.

One Solution collect form web for “Как rsync файлы с номером имени файла больше, чем число?”

С zsh :

 rsync ... <0-15>_*(/) somewhere rsync ... <16->_*(/) somewhere-else 

С ksh или bash -O extglob или zsh -o kshglob :

 rsync ... @(0[0-9]|1[0-5])_* somewhere rsync ... @(1[6-9]|[2-9][0-9])_* somewhere-else 

Или вы можете сделать это в отдельных глобусах (хотя вы увидите сообщения об ошибках от rsync если любой из glob не соответствует ни одному файлу, и вы можете закончить rsyncing файлы, которые называются буквально 0[0-9]_* , 1[0-5]_* …):

 rsync ... 0[0-9]_* 1[0-5]_* somewhere rsync ... 1[6-9]_* [2-9][0-9]_* somewhere-else 

(обратите внимание, что bash и ksh не поддерживают квалификатор (/) glob для выбора файлов только для типа каталога).

POSIXly:

 find . ! -name . -prune \( -name '0[0-9]_*' -o -name '1[0-5]_*' \) \ -type d -exec sh -c 'exec rsync ... "$@" somewhere' sh {} + find . ! -name . -prune \( -name '1[6-9]_*' -o -name '[2-9][0-9]_*' \) \ -type d -exec sh -c 'exec rsync ... "$@" somewhere-else' sh {} + 
  • Rsync - Поврежденный MAC на входе
  • Почему бы не всегда использовать rsync?
  • Сбой сценария резервного копирования с параметрами команды rsync в цитируемой переменной
  • Как мне восстановить / var / cache?
  • lsyncd и дополнительные параметры для rsync
  • Заменить новые разрешения на файлы после rsync из семенной коробки
  • Rsync из нескольких папок в один
  • Безопасность сервера rnync / daemon
  • Как я могу использовать собственный локальный текстовый редактор для изменения системных (требуется root для сохранения) файлов в удаленной системе?
  • Использование rsync для синхронизации каталогов
  • Как я могу дать пользователю возможность использования CAP_MKNOD?
  • Interesting Posts

    Как удалить текст в файле до и после некоторого шаблона

    Как изменить все строки, состоящие из одного символа «0», на другое?

    Как мне получить команду «top» для ее вывода?

    Поддерживает ли конфигурация iscsi target и инициатор iscsi в двух Linux-узлах и использование Ethernet-кабеля для связи делает его SAN?

    Установка letencrypt на FreeBSD не удалась

    Apache не читает изменения в файлах PHP

    Как я могу идти вперед в файле? Что такое oposite ctrl + O

    ACL не включен, но он работает

    Gnome3 – добавление клавиатуры «Пользовательские ярлыки» с использованием dconf без необходимости выхода из системы

    Как проверить, что служба прослушивает как ipv4, так и ipv6?

    Что вызывает скрипт csh иногда не source /etc/csh.cshrc?

    Установка последней версии gnuplot на Debian Stretch для одного пользователя

    Легкая сборка linux

    Как уменьшить размер файла FLAC без ущерба для его качества?

    Использование параметров предварительного посева и загрузки для полностью отсутствующей установки Debian

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