Вы можете получить имена файлов, содержащих заданное выражение, с помощью grep -l
, например grep -l '18Jun22h' *
. Вы можете использовать --null
для передачи нулевого символа между файлами и отправить его наxargs
:
$ grep -l '18Jun22h' * --null | xargs -0 rm --
Я бы порекомендовал сначала выполнить проверку работоспособности, как в этой демонстрации «создать, а затем удалить файлы»:
$ for file in 'test file' 'file?name' 'file*name'; do echo foo > "$file"; done; ls -1
file*name
file?name
test file
$ grep -l foo * --null | xargs -L1 -0 echo
file*name
file?name
test file
$ grep -l foo * --null | xargs -L1 -0 rm --
В двух словах, выбор профилей блоков зависит от ваших целей в отношении файловой системы.
Блоки метаданных дублируются по умолчанию даже в файловых системах с одним -устройством, за исключением -невращающихся устройств (, например. SSD ), не как страховка от полного отказа диска, а как страховка от частичного отказа диска. В то время как поврежденные блоки данных могут повредить содержимое файла, хранящегося в этих блоках данных, поврежденные блоки метаданных предотвратят доступ к содержимому. Это делает повреждение метаданных более разрушительным для файловой системы в целом.
Выбор между удалением и дублированием — это выбор между пропускной способностью и избыточностью. С RAID0 вы получаете повышенную пропускную способность, потому что пока одно устройство записывает один блок, другое может записывать другой блок. С RAID1 вы получаете уменьшенную пропускную способность, потому что оба устройства должны записывать одни и те же блоки.
Таким образом, чтобы получить максимальную пропускную способность (и с максимальным использованием дискового пространства BTRFS ), вы можете использовать RAID0 для метаданных и блоков данных.