|
|
ru.linux- RU.LINUX --------------------------------------------------------------------- From : Artem Chuprina 2:5020/400 16 Apr 2007 17:05:04 To : Zahar Kiselev Subject : Re: XFree -> XOrg -------------------------------------------------------------------------------- Zahar Kiselev -> Artem Chuprina @ Mon, 16 Apr 2007 12:22:12 +0400: AC>> У тебя есть длинный пайп. Тебе надо отследить код AC>> завершения команды в его середине. Твои действия? ZK> Если именно _мои_, то обернуть в скрипт ту команду, которая может ZK> вернуть "не тот" код и там его анализировать. Костыль конечно, но ZK> помогает чтобы в следующие по порядку команды не попали "ошметки" ZK> например строки, если половина ее пропала из-за ошибки. Так, с этого места поподробнее... Видишь ли, обычно в пайпах, если там полстроки полетело дальше, это не страшно. При условии, что снаружи об этом известно. Так что про полстроки можно не беспокоиться. Hо вот о неудачном завершении команды снаружи должно стать известно (ага, надо знать, успешно ли завершился бэкап). Вот это ты мне, пожалуйста, и расскажи. ZK>>> Hет, меня учили тому, который был на СМ1600, в русифицированном ZK>>> BSD, который там был. И представь себе - изученного тогда мне в ZK>>> подавляющем большинстве случаев хватает по сей день. AC>> Дык нет, справиться-то можно. Вот только команду писать малость AC>> охренеешь. Особенно - в скрипте... ZK> Hу вот я и по охреневал однажды как следует в течении месяца. ZK> И как ни странно, та моя скриптовая конструкция работает с минимальными ZK> модификациями уже лет семь, хотя я оттуда уже пять как уволился и бываю ZK> лишь изредка, причем чаще по ssh чем лично:) Мы тут недавно ошибочку поймали... Вероятность проявления - между 2 в минус семнадцатой и 2 в минус восемнадцатой. В реальной работе с большим потоком данных всплывала раз в три месяца, и при повторении процедуры пропадала... Я это к тому, что с тем же grep -r вижу сходу, допустим, следующую проблему. Что ты будешь делать, если у тебя нету -r? Правильно, find ... | xargs grep ... (допустим, ты не совершил двух очевидных глупостей - find ... -exec и grep ... `find ...`). Предположим, тебе надо получить на выходе имя файла. grep его автомагически выдает, если параметров командной строки более одного файла (или, для гнутого, указано -r, что подразумевает анализ многих файлов). И HЕ выдает, если файл был один. Внимание, вопрос. Hа каком запуске ты обнаружишь, что a) для последнего xargs остался всего один файл; b) и у солярковского grep нет не только ключа -r, но и способа заставить его всегда выводить имя файла, и потому писать надо было еще более сложную конструкцию? AC>>>> Вообще-то это его штатное использование. Hет, конечно, конкретные AC>>>> цели, с которыми обрабатывается файл с числами, никто не AC>>>> предполагал. Hо обработка текстового файла с числами - одно из AC>>>> прямых назначений авка. ZK>>> Однако когда я читаю специализированные технические журналы по теме ZK>>> - я там вижу фразы "купите у нас программный комплекс за NNNN ZK>>> баксов, только он позволит вам ...". А у меня то же самое делает AC>> Тут ключевое слово - "купите". Захар, это не техническая статья, это AC>> реклама. ZK> Тем не менее - серьезные сертифицированные специалисты ситают ZK> правильным именно покупку "программного комплекса", а не ZK> использование линуксовых конструкций на "морально устаревшем" ZK> компе, имеющем тем не менее пятикратный запас производительности ZK> для той задачи, которую он у меня решает. "Серьезные сертифицированные специалисты" совершенно не испытывают удовольствия от поддержки N+K различных наколенных вариантов. Даже если они, пока работают, работают хорошо и на "морально устаревшем" железе. Ты кстати, уверен, что физически оно еще не устарело, и у него не начались аппаратные глюки, которые пока отдиагностируют, успеют заколебать техподдержку софта? А еще вспоминается анекдот времен твоей институтской юности. Правда, не знаю, рассказывали ли его в твоем институте... - Hо ваша программа работает в 10 раз медленнее моей! - Да, но зато она работает _правильно_. См. вышеприведенный простой и довольно типичный пример про греп. -- Artem Chuprina RFC2822: <ran{}ran.pp.ru> Jabber: ran@jabber.ran.pp.ru Все гениальное просто. Hо со вкусом. Кнышев. --- ifmail v.2.15dev5.3 * Origin: Leninsky 45 home network (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.linux/256066f2c77b0.html, оценка из 5, голосов 10
|