Задать вопрос

Как найти все файлы содержащие нули?

В результате сбоя винтов побились файлы документов.
Вроде восстановление прошло нормально, но потом обнаружилось что часть файлов восстановились некорректно. Размер и имя файла правильное, но сам файл битый. Точнее забит 00h если смотреть hex редактором.
При выборочной проверке такие файлы не попались и теперь в базе есть документы битые.
Не могу придумать как найти все такие файлы.
Может кто подскажет как правильно прописать параметры для grep, чтобы получить список файлов и папок где они лежат?
  • Вопрос задан
  • 453 просмотра
Подписаться 3 Средний 10 комментариев
Пригласить эксперта
Ответы на вопрос 3
@nihi1ist
grep -irl "что ищем в файле" /где/ищем
Ответ написан
mayton2019
@mayton2019
Bigdata Engineer
Не уверен что регулярки помогут. Но я-бы видел поиску нулей как-то такой интеграцией.

find . -name '*bills*' -exec is_file_contains_zeroes {} \;


здесь find - стандартная утилита а is_file_contains_zeroes вам напишет любой программист за 15 минут.

Но если битый винт содержал именно ДОКУМЕНТЫ то правильнее всего их искать именно валидатором
документов а не искателем нулей. Выше Adamos вобщем-то дал правильную линку на дубль этого вопроса.

Ну и на будущее чтоб не "бились винты" - делай бекапы. Потому что игры в восстановление - это не
production ready сценарий и за такие документы уже никто не даст цену. Грубо говоря они стали
мусором. Сомневаюсь что валидаторы закроют 100% сценариев разрушения.
Ответ написан
noder_ss
@noder_ss
Линуксоид-энтузиаст и SQL разработчик
find / type f | xargs grep -H "0"
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы