Одной из вероятных причин исчерпания inodes является то, что по какой-либо причине в определенном каталоге накопилось большое количество файлов. Вы можете проверить обычных подозреваемых, например / tmp
, / var / tmp
, / var / log
и т. Д. Если вы ничего не найдете, вот команда, которую я собрал вместе, чтобы вывести список 50 верхних каталогов в файловой системе, содержащих наибольшее количество файлов / каталогов на их первом уровне.
find / -xdev -type d -exec sh -c '
num=$(find "$0" -maxdepth 1 | wc -l); echo "$num $0"' {} \; |
sort -n |
tail -50
Обратите внимание, что также включены точки монтирования верхнего уровня - это нетривиально исключить.
Вы можете попробовать использовать это:
cat <filename> | sed "s/ /\n/g" | grep "=$"
Это заменит ваши пробелы на новые строки (, которые не будут работать, если у вас есть значения, содержащие пробелы ), а затем искать записи со знаком =, за которым следует конец строки.
Использование grep
с расширенным регулярным выражением:
grep -Eno "[A-Za-z]+=( |$)" /path/to/file
Должен печатать пустые ключи и соответствующие номера строк.
Если вы рассматриваете свой файл как с разделителями , вы можете сопоставлять и выводить любые строки, второе поле которых состоит не более чем из пробелов:
awk -F= '$2 ~ /^[ \t]*$/' file