Предварительное кэширование списка файлов файловой системы

В первом закрытии это может быть sed-script:

sed -E '
/Mikrotik01/{s/.* ([0-9.]{7,}) .*/\1/;x;/^$/!b}
/[0-9.]{7,}/!d
s/.* ([0-9.]{7,}).*/\1/
x
G
s/\n/,/
h
$!d' file.txt > file.csv

Или (может быть немного короче, но не так сильно - он распознает новый блок строк по |, а не по Mikrotik01)

sed -E '
  /^T/d
  s/^[^.]*[|:] //
  / \|.*$/{s///;x;/^$/!b}
  x
  G
  s/\n/,/
  $!{h;d}' file.txt > file.csv

Его можно упростить (потому что я делаю дважды одинаковые x и s/), но сейчас я не могу себе представить, как.

0
05.05.2015, 08:45
2 ответа

На самом деле сканирование списка файлов происходит медленно. Что-то вроде этого должно делать:

find /home >/dev/null &

То есть, он будет кэшировать файлы в /home. Но это задержит Ваш диск на некоторое время, он будет кэшировать как интересные, так и неинтересные подкаталоги, и некоторые подкаталоги все еще могут быть очищены из кэша до того, как они Вам действительно понадобятся. Вероятно, это того не стоит.

1
28.01.2020, 02:50

Для того, чтобы показать вам каталог, эти файловые менеджеры должны, по крайней мере, сканировать список имен файлов в каталоге и типах файлов и других метаданных. Это те же звонки, что делает LS -L . Кроме того, некоторые файловые менеджеры могут осмотреть содержимое файла, чтобы дать вам более точную информацию о том, что в них, например, файл . Они также могут создавать превью для определенных типов файлов (например, изображений) и могут попытаться извлечь значки из нескольких типов файлов, которые имеют значок в комплекте.

Если вы обнаружите, что это слишком медленно, попробуйте настроить их, чтобы отобразить меньше информации.

Чтобы предварительно прочитать только имена файлов и метаданных, запустите

find ~ -type f >/dev/null

, чтобы предварительно прочитать начало файлов, запустите

find ~ -exec file {} + >/dev/null

, я не рекомендую это. Это займет много времени и хранить много информации в памяти, которая никогда не будет использоваться (потому что вы не будете получать доступ к всем вашим файлам сегодня). Попытка в секунду догадателя ОС Cache алгоритмы обычно является контрпродуктивным.

0
28.01.2020, 02:50

Теги

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