Кстате,
к вопросу о власти крипто-линуксоидов.
Я так понимаю, что у тех, у кого реально есть возможность чего-нибудь накрутить в софте для госструктур, достаточно хорошая зарплата и вообще положение в обществе, чтобы их весь этот мрак, который мы тут массово обсуждаем, никак не интересовал.
Если есть ресурсы делать всякую опердень на обычных языках силами 100 человек, то нахер не нужно никакое ФП. Если есть возможность купить, впарить винды, заплатить откаты и еще при наваре остаться - нахер не нужен никакой линукс, вообще. И если есть зарплата, позволяющая все нужное покупать и еще и откладывать - нахер не нужны никакие революции, смены власти и прочее, на что дрочат все радикалы, от либералов до левых.
Я так понимаю, что у тех, у кого реально есть возможность чего-нибудь накрутить в софте для госструктур, достаточно хорошая зарплата и вообще положение в обществе, чтобы их весь этот мрак, который мы тут массово обсуждаем, никак не интересовал.
Если есть ресурсы делать всякую опердень на обычных языках силами 100 человек, то нахер не нужно никакое ФП. Если есть возможность купить, впарить винды, заплатить откаты и еще при наваре остаться - нахер не нужен никакой линукс, вообще. И если есть зарплата, позволяющая все нужное покупать и еще и откладывать - нахер не нужны никакие революции, смены власти и прочее, на что дрочат все радикалы, от либералов до левых.
no subject
потратить полчаса на скрипт и забыть о данной проблеме навсегда... - стандартная ситуация
но опять же. как и любой программист - я не эталон пользователя. не уверен что среднестатистическим юзверям это подойдёт. набор софта у меня тоже слегка не соответствует рабочей машине. mysql, postgres + postgis, mapserver, apache, sendmail, lighthttpd, tomcat, jetty и т.д. и всё это работает и периодически дёргается. иногда по делу, иногда для фана.
no subject
Вот в этом ваша правда! Но нужно же быть иногда и человеком, а может быть и менеджером. Ведь именно они в конечном счете принимают решения о том, чему жить, а чему умирать (это в плане ИТ).
no subject
расфлудились мы что-то на субботу глядя...
спасибо за дискуссию. спать... :)
no subject
no subject
мне пришлось как то глубоко вляпаться в вынь скрип хост. ничего позитивного не получил. возможно специфика.
зы. с тех пор и поселил у себя набор unixtools(tail, cat, grep, find, awk и прочее) и на работе.
no subject
А теперь, внимание, элегантное решение в Windows! :)
forfiles /p c:\superpapka /s /c "cmd /c if not @fname==dontdelete.me del /q @file"
Вот и все А в Linux (да и вообще в никсах) без медленных комманд find, sed и ужасного синтаксиса не обойтись.
no subject
получил мгновенный ответ вида "man find" :)
если подробнее:
max_posedon> кстати, forfiles в 100 раз медленнее find
max_posedon> а задача решается тупо
max_posedon> find + regexp -exec rm
max_posedon> без sed-а и без синтаксиса
насчет скорости конечно надо тестить... а в остальном... имхо не такое уж "элегантное" в Windows решение :)
no subject
max_posedon> find + regexp -exec rm
Где тут тупо решение задачи? :))) Мне, пожалуйста, конкретную строку, да еще такую, чтобы на UNIX тоже работала :)))
На счет скорости forfiles - он в разы быстрее, чем известные мне 2 решения. В частности, я сравнивал с RHEL и HP-UX на очень быстрых машинках :)
no subject
что то типа такого.
по скорости на "миллион в миллионе" очень не уверен что forfiles будет быстрее. но без теста утверждать не возьмусь. тут много чего влияет. и файловая система не в последнюю очередь (ну тем более что на отдельно взятых "миллион в миллионе" просто не реально создать).
no subject
find: missing argument to `-exec'
Разбираться нет времени и желания :) Синтаксис уже ужасен - в Windows он предельно понятен - один параметр для определенного, конкретного действия. И ничего лишнего.
no subject
на hp-ux проверить не могу - нету
no subject
no subject
no subject
по крайней мере для меня, слабо разбирающегося в виндовых скриптах, интуитивно непонятны все эти /p /s и т.д.
и, кстати, ваше решение работает на всех версиях Windows ? хотя бы 32-хбитных ?
если нет, то в условии задачи вы не имеете морального права требовать работы скрипта-аналога даже на всех версиях линукса, не говоря уж о других разных *nix-системах.
PS моя позиция к фанатизму различных адептов очень близка к позиции ребе wildwildman.
no subject
no subject
битность я ввел для того, чтобы не тянуть некогда популярную Win 3.x, но если вы настаиваете... ;-)
т.е. получается, что для Win вы выбрали какое-то конкретное семейство, а для *nix требуете работы везде. неувязочка.
я вот сейчас тест буду проводить - очень уж ваша задачка занятной оказалась ;-)
если есть время - давайте проведем нормальные тесты, а не будем меряться пиписьками ;-)
У меня Win систем нет - поэтому на них проверить не смогу.
Предпосылки:
1. ФС - в RAM (чтобы не сказывалось влияние веников)
2. количество директорий - 1000
3. количество файлов - 1000 + dontdelete.me
количество уменьшено, т.к. лично у меня терпения не хватит, чтобы дождаться создания всего этого барахла. + не всякая ФС потянет.
и памяти не хватит - только что 2G на tmpfs было съедено только половиной ;-)
PS лучше поделитесь красивым скриптом для генерации такого чудовищного количества директорий/файлов - у меня пока что вот: http://pastebin.ca/1609460
(no subject)
(no subject)
(no subject)
no subject
раздел "Execute!"
no subject
И потом, find - это известный тормоз, да еще и с rm!!! На миллионе файлов в HP-UX на машине с 64 гигабайтами памяти на HP9000-ке по дереву из миллиона файлов и каталогов find "гулял" почти 20 минут. Ну не пиздец, а? :)
В то же время, на вполне тривиальном ноуте с C2D процом и всего лишь 4 гигами памяти с Windows 7 x64, приведенное мною решение с forfiles отработало менее чем за 10 минут.
no subject
no subject
no subject
А теперь, внимание, элегантное решение в Windows! :)
> Вот и все А в Linux (да и вообще в никсах) без медленных комманд find, sed и ужасного синтаксиса не обойтись.
Я готов решить вашу задачу в Linux быстрее чем на Windows, если мы поспорим скажем на ящик пива.
Но решить я готов её именно в Linux, а не во всех POSIX ОС или каких то ебанутых окружениях, не потому что не могу, а потому что вы заявили что именно в Linux оно не красиво и медленно.
Впрочем, вы тоже можете очень сильно улучшить своё решение прочитав man по find, в частности про -delete про -false и прочие -name* параметры.
P.S. На выходные уезжаю отдыхать, если не струсите продолжим общение в воскресенье вечером.
no subject
(no subject)
(no subject)
(no subject)
(no subject)
no subject
find /superpapaka -type f \! -name dontdelete.me -delete
find /superpapaka -type f \! -name dontdelete.me -exec rm -rf {} \+
Обратить внимание на плюс вместо точки с запятой - он форкнет rm минимальное количество раз, что существенно влияет на производительность.
Ну а требование, чтобы все юниксы работали одинаково, если одинаковый интерпретатор shell - звучит
бредовопо меньше мере странно. Ибо кроме шелла есть еще куча утилит, не встроенных в него. И find в их числе, это "внешняя команда" в терминах DOS/Windows. И в той же Windows набор этих внешних команд и их синтаксис тоже вполне отличается от версии к версии.no subject
no subject
Например, я почти уверен, что приходящие к юзерам подключать байфлай мастера не смогут подключить его в линуксе, соответственно, клиент с линуксом будет послан в жопу, и будет все подключать сам. И так по множеству вопросов - пользователю линукса хочешь не хочешь нужно становиться профессиональным админом.