Я хочу удалить тот же файл с разными именами, разбросанными по папкам. Эта команда отлично подходит для поиска и перечисления файлов. Затем я вручную удаляю файлы.
Можно ли добавить опцию удаления в команду ниже?
find /folder -type f -exec md5sum {} + | grep '^aafa26a6610d357d8e42f44bc7e76635'
пытаться
find ... | awk '{$1 = "rm" ; print } ' | bash
это заменит фактический md5sum ( aaf...
) на rm.
это не будет работать, если в имени файла есть специальный символ, и если файл защищен от записи (замените rm
на rm -f
).
Другая возможность ниже. Замените rm
на rm -f
если это необходимо. Кроме того, добавьте -n1
в xargs
(удаление rm
), чтобы он распечатывал переданные ему аргументы (для целей проверки).
find . -type f -exec md5sum {} + | awk '$1 == "d41d8cd98f00b204e9800998ecf8427e" {printf "%s\0", substr($0, 35)}' | xargs -r0 rm
Обратите внимание, что этот метод обрабатывает пробелы в именах файлов и / или папках.