Я бы использовал perl
:
perl -ne 'print if length s/\d//gr == 2'
который использует:
-n
для неявного обертывания while ( <> ) {
loops///r
возвращает замененный текст, но не изменяет оригинал. Примечание: это удаляет цифры из ваших строк, оставляя нецифровые. Вместо этого можно использовать [^A-Z]
.
Или альтернативно - если так понятнее:
perl -ne 'print if (()=m/([A-Z])/g) == 2'
Это будет работать со старым perl
, который не поддерживает флаг r
. Он использует regex-сопоставление для выделения текста и подсчитывает количество элементов массива (совпадений). И если их 2, печатает строку.
Здесь есть несколько проблем, замедляющих решение для резервного копирования.
Вы используете rsync
для копирования между двумя «локальными» файловыми системами.
Тот факт, что один из них является SMB, не имеет отношения к rsync
. Если файловая система монтируется как часть локальной системы, то rsync
должен рассматривать ее как локальную. Это означает, что любой измененный файл должен быть скопирован из общей сетевой папки SMB полностью, а не только измененные части.
Если ваш файловый сервер может запускать rsync
напрямую, измените процесс резервного копирования, чтобы он мог запускать удаленный процесс rsync
и получать преимущества инкрементных копий.
Вы записываете на резервные диски через fuseblk.
Я предполагаю, что это связано с тем, что на дисках установлена файловая система NTFS. Если вы сможете переформатировать их для использования собственной файловой системы Linux, такой как ext4
, вы увидите значительное увеличение скорости файлового ввода-вывода. Включая rm -rf
, который занимает так много времени.
Если вы пишете в VFAT, то у вас также есть проблема временных меток пониженного качества, и вам нужно rsync
соответствующим образом предупредить, чтобы он не пытался копировать в остальном -идентичные файлы в ваш резервный носитель.
Из комментариев я понял, что вы действительно используете NTFS и хотите продолжать использовать ее, чтобы диски можно было читать под Windows. Альтернативой является установка драйвера диска ext4
в Windows. Я использую ext2fs , который я считаю довольно надежным.