Главная страница


ru.linux

 
 - RU.LINUX ---------------------------------------------------------------------
 From : Valentin Nechayev                    2:5020/400     22 Jun 2002  11:23:01
 To : Victor Wagner
 Subject : Re: Расшиpения файлов
 -------------------------------------------------------------------------------- 
 
 >>> Victor Wagner wrote:
 
 VW>>> И зачем =(cat)
 VW>>> Есть же -pipe?
 
 Витус, идите RTFM, блин. -pipe - это только для промежуточных данных,
 которыми обмениваются между собой cpp0, cpp, cc1, cc1plus, as и прочие.
 Причем этот ключ резко повышает скорость работы и я не понимаю, почему
 оно не сделано по умолчанию, а используется /tmp (причем освоить mkstemp[s]
 гнусники до сих пор не смогли и продолжают использовать диверсионный tempnam,
 так что неиспользование -pipe еще и просто несекьюрно). (Разве что осталось
 как наследство с тех времен, когда один запуск одного cc1 занимал всю
 память машины.)
 
 AP>>   =(cat) - это к шеллу (zsh).
 VW> Есть такая группа новостей - comp.unix.programmer.
 VW> Там еженедельно присуждают приз Most Useless Use of Cat.
 VW> Данная конструкция относится явно к этой категории. Зачем,
 VW> спрашивается порождать процесс cat, каким бы ни был при этом
 VW> удобным shell, когда можно просто объяснить программе, что данные
 VW> по пайпу читать надо?
 
 Витус, сначала подумайте над проблемой, прежде чем нести ахинею и бред.
 Посмотрите на autoconf. Какого там пишут промежуточный conftest.c
 и затем натравливают на него gcc, если бы это было так просто?
 
 Hа самом деле, передать стандартный ввод на вход программе, которая
 жаждет сделать open(), не всегда является тривиальной задачей.
 (Хваленое юниксовое "все есть файл" получило здесь исторически первый нокаут.)
 В большинстве систем для этого уже есть /dev/stdin или /dev/fd/0,
 и можно сказать просто "gcc -xc /dev/stdin". К большинству линуксовых
 дистрибутивов это тоже относится. Однако делать варианты с <(cat)
 (bash style) и =(cat) (zsh style) - тоже метод решения проблемы.
 
 А позерство с Most Useless Use of Cat хорошо для теоретиков, не написавших
 ни одной реальной системы и не работавших по 10 часов за консолью.
 Для остальных оно вредно. Hапример, я набираю обычно
 
 cat /var/log/maillog | fgrep xxx | fgrep yyy | less
 
 потому что знаю, что в >50% случаев команду cat maillog придется заменить
 на zcat maillog.0.gz и продолжить поиск там, а переделывать команду из
 вида 'fgrep xxx /var/log/maillog | ...' - слишком много нажатий клавиш.
 Да, можно было бы написать fgrep xxx <(zcat /var/log/maillog.0.gz)|...,
 но с начальным cat набирать на порядок быстрее.
 /netch
 --- ifmail v.2.15dev5
  * Origin: Dark side of coredump (2:5020/400)
 
 

Вернуться к списку тем, сортированных по: возрастание даты  уменьшение даты  тема  автор 

 Тема:    Автор:    Дата:  
 Расшиpения файлов   Pavel Derevyanko   18 Jun 2002 19:21:42 
 Расшиpения файлов   Viktor Ignatiev   19 Jun 2002 16:06:33 
 Re: Расшиpения файлов   tma   19 Jun 2002 17:23:32 
 Re: Расшиpения файлов   John Lepikhin   19 Jun 2002 19:23:28 
 Re: Расшиpения файлов   Vladimir Mosgalin   20 Jun 2002 00:03:10 
 Расшиpения файлов   Serguei Khvatov   19 Jun 2002 10:32:57 
 Re: Расшиpения файлов   Michael de\'OZ   19 Jun 2002 20:42:26 
 Re: Расшиpения файлов   Eugene B. Berdnikov   19 Jun 2002 23:03:08 
 Re: Расшиpения файлов   Victor Wagner   19 Jun 2002 11:49:13 
 Re: Расшиpения файлов   Serguei Khvatov   19 Jun 2002 11:16:52 
 Re: Расшиpения файлов   Artur Penttinen   19 Jun 2002 12:32:10 
 Re: Расшиpения файлов   Victor Wagner   19 Jun 2002 15:12:40 
 Re: Расшиpения файлов   Artur Penttinen   19 Jun 2002 16:40:57 
 Re: Расшиpения файлов   Victor Wagner   20 Jun 2002 10:35:46 
 Re: Расшиpения файлов   Artur Penttinen   20 Jun 2002 12:14:16 
 Re: Расшиpения файлов   Anton Kovalenko   20 Jun 2002 17:08:36 
 Re: Расшиpения файлов   Ian Dichkovsky   21 Jun 2002 18:16:48 
 Re: Расшиpения файлов   Valentin Nechayev   22 Jun 2002 11:23:01 
 Re: Расшиpения файлов   Dmitry Fedorov   22 Jun 2002 15:29:42 
 Re: Расшиpения файлов   Valentin Nechayev   22 Jun 2002 16:50:58 
Архивное /ru.linux/7368326a33fb.html, оценка 2 из 5, голосов 10
Яндекс.Метрика
Valid HTML 4.01 Transitional