В первом закрытии это может быть 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/
), но сейчас я не могу себе представить, как.
На самом деле сканирование списка файлов происходит медленно. Что-то вроде этого должно делать:
find /home >/dev/null &
То есть, он будет кэшировать файлы в /home
. Но это задержит Ваш диск на некоторое время, он будет кэшировать как интересные, так и неинтересные подкаталоги, и некоторые подкаталоги все еще могут быть очищены из кэша до того, как они Вам действительно понадобятся. Вероятно, это того не стоит.
Для того, чтобы показать вам каталог, эти файловые менеджеры должны, по крайней мере, сканировать список имен файлов в каталоге и типах файлов и других метаданных. Это те же звонки, что делает LS -L
. Кроме того, некоторые файловые менеджеры могут осмотреть содержимое файла, чтобы дать вам более точную информацию о том, что в них, например, файл
. Они также могут создавать превью для определенных типов файлов (например, изображений) и могут попытаться извлечь значки из нескольких типов файлов, которые имеют значок в комплекте.
Если вы обнаружите, что это слишком медленно, попробуйте настроить их, чтобы отобразить меньше информации.
Чтобы предварительно прочитать только имена файлов и метаданных, запустите
find ~ -type f >/dev/null
, чтобы предварительно прочитать начало файлов, запустите
find ~ -exec file {} + >/dev/null
, я не рекомендую это. Это займет много времени и хранить много информации в памяти, которая никогда не будет использоваться (потому что вы не будете получать доступ к всем вашим файлам сегодня). Попытка в секунду догадателя ОС Cache алгоритмы обычно является контрпродуктивным.