Re: shell - help wanted
Victor Wagner пишет:
что всё ужастно тормозит.
Это -естественно. У тебя же там поднимается новый процесс ls на каждый
файл.
Это сделано, поскольку я не смог нормально обрабатывать файлы с пробелами в
цикле - он думает что их тут 2 ато и больше..
Можно попробовать find с ключиком -ls. Только поле для сортировки нужно
будет правильно указывать.
будем пробовать
список для втыкания всего этого в mysql? (у ls не совпадает количество
столбцов и формат даты разный - хотя у меня есть смутное подозрение, что
ядро здесь имеет первостепенное значение)
Напрасное подозрение. Уж скорее имеет значение текущая локаль. И если
считать дату за один столбец, то количество столбцов вполне совпадает.
У ls из coreutils 5.2.1 (sarge) есть ключик --time-style, который
позволяет привести вывод к тому же виду, что и у ls из fileutls 4.1
(--time-style locale). К сожалению,ls из fileutils 4.1 такого не
понимает.
просто у меня 2 sarge на разных ядрах (2.4 и 2.6) - так там ls ведёт себя совсем
по разному. как себя ведет ls из sarge, который 2.6 меня абсолютно устраивает :)
Буду курить в сторону локали - может удастся подстроить под то, что мне нужно.
А вообще я бы рекомендовал отказаться для решения этой задачи от shell и
использовать более другой скриптовый язык, который не требует порождения
отдельного процесса для того, чтобы узнать содержимое inode, т.е.
имеющий встроенную команду для доступа к системному вызов stat.
Например, perl (у которого есть stat и модуль File::Find) или tcl
(у которого есть file state и glob или for_recursive_glob в Tclx)
спасибочки что придал ускорения в нужную сторону - про perl я совсем забыл. ;-)
хотя ради спортивного интереса стоит довести шеловскую версию до более-мнее рабочей
--
WBR, Dmitrii
ICQ: 193-74-771
Phone: +375-29-40-LINUX
Reply to: