На установке Ubuntu по умолчанию заблокирована корневая учетная запись, который реализован путем хранения в поле хэша пароля значения, которое не может быть легальным хешем. Посмотрите больше деталей здесь: существует ли пароль root на OS X и Ubuntu?
Если Ваш grep поддерживает его; Вы могли сделать проверку grep.
grep -P '\x00{NNN}' File
Где NNN - то, какому количеству непрерывно нулевых байтов Вы хотите соответствовать. Обычно был бы макс. USHRT_MAX или 65535.
-P
необходим для использования \x00
Перечислять использование смещений:
grep -Pboa '\x00{NNN}' File
Так что-то в направлении:
for f in *; do
[ -e "$f" ] || break
if grep -Pq '\x00{1000}' "$f"; then
mv "$f" ../likely_corrupt
fi
done
Еще Вы могли использовать hexdump
, xxd
и т.п. и соответствие для 000...
.
hexdump -ve '/1 "%02X"'
Но это было бы сумасшедшее медленный.
Наконец очень короткая программа C могла сделать то же.