Можно использовать 'lshw'. Установите это с помощью 'sudo склонный - получает установку lshw' на Debian и производных. Существует даже графическая версия, названная lshw-gtk.
rsync's исключает опцию, действительно не поддерживает regex, это - больше оболочки globbing сопоставление с образцом.
Если те каталоги довольно статичны, необходимо просто перечислить их в файле и использовании --exclude-from=/full/path/to/file/exclude_directories.txt
.
Обновленный для обеспечения примера
Во-первых, Вы просто помещаете каталоги в файл:
find . -type d -regex '.*/[0-9]*$' -print > /tmp/rsync-dir-exlcusions.txt
или
( cat <<EOT
123414
42344523
345343
2323
EOT ) > /tmp/rsync-directory-exclusions.txt
затем можно сделать работу rsync:
rsync -avHp --exclude-from=/tmp/rsync-directory-exclusions.txt /path/to/source/ /path/to/dest/
Вам просто нужен дополнительный шаг для установки текстового файла, который содержит каталоги для исключения, 1 на строку.
Следует иметь в виду, что путь каталогов в задании, их относительный путь к тому, как rsync видит каталог.
Вы не можете сказать “имя, которое содержит только цифры” в синтаксисе шаблона rsync. Поэтому включайте все имена, которые содержат нецифру и исключают остальных.
rsync --include='*[!0-9]*' --exclude='*/' …
См. также мое rsync руководство шаблона.
Используйте находят для вхождения в список каталогов, которые будут исключены, затем будут использовать rsync's - исключают - из опции, поскольку Tim Kennedy описал это.
Можно сделать это в одной строке:
rsync -avHp --exclude-from=<(cd /path/to/source; find . -type d -regex './[0-9]*' | sed -e 's|./||') /path/to/source/ /path/to/dest/
Используйте эту команду:
$> rsync -avlH --exclude=*.ibd --exclude-from=<(ls -p | grep -v / | \
grep -E 'ibdata|ib_logfile') /mnt/myfuse/ /u01/my3309/data/