|
ru.unix- RU.UNIX ---------------------------------------------------------------------- From : Vladimir Yakovetsky 2:5020/400 31 Mar 2000 21:44:51 To : All Subject : Re: Help!!!!!!!! -------------------------------------------------------------------------------- Victor Wagner <vitus@zinc.fe.msk.ru> wrote: VY>> $ grep -srl "search me" . ~user_A /mnt/mustdie VY>> ищем: VY>> что - "search me", VY>> где - в текущей дыр, юзвера user_A, /mnt/mustdie; VY>> как - рекурсивно "-r", VY>> еще как - тихо "-s", VY>> при этом - печатаем имя файла "-l", VY>> зачем - не знаю. VY>> VW> Садитесь, двойка. дневник-то когда принести? VW> Если последний GNU grep умеет -r, последний 2.4.2, а тот который может рекурсить - далеко не последний. VW> то это еще не значит, что все должны пользоваться сапогами 45-го размера. VW> это умеет unix-овый grep. VW> А судя по наличию слов про find, это подразумевалось. по заголовку подразумевалось короткое решение, упоминание о find, говорит о незнании того как это делается проще. VW> Правильный ответ find / -type f -print |xargs grep -l "строка" ну и, падал прошлогодний снег, ну и что? VW> Данная комбинация работает в любом unix-е. и что такое unix?) VW> Можно еще print0 и ключик -0 у xargs использовать, на случай любителей VW> созавать файлы с newline в именах. grep 2.4: "-Z" like `find -print0' `perl -0' `sort -z' `xargs -0' ^-- for output, "-z" for input (performance: кроме того grep может читать с используя mmap(), а не read(). волшебный ключик "--mmap" ) VW> Кроме того это один из самых эффективных способов, VW> хотя grep -r может быть и эффективнее (а может и не быть. Это зависит от VW> того, сильно ли find умнее на предмет рекурсивного обхода). у grep'a в данном случае performance лучше. VW> Эффективность заключается в том, что в отличие от ключика -exec grep {} это к товарищу с SunOS. VW> у find, grep запускается не по одному разу на каждый файл, а ровно VW> столько раз сколько надо, чтобы суммарная длина командной строки не превысил VW> системные ограничения. и кто интересно этот тред начал.. VW> -------------------------------------------------- VW> Victor Wagner vitus@ice.ru VW> Programmer Office:7-(095)-203-50-60 VW> Institute for Commerce Home: 7-(095)-135-46-61 VW> Engineering http://www.ice.ru/~vitus -- Здесь был я - играющий крапленными картами без подвоха homo ludens: Vladimir Yakovetsky (mobile phone up to 4096 digits) e-mail: ypp@mail.univ.kiev.ua h-page: http://users.univ.kiev.ua/~ypp/ --- ifmail v.2.15dev4 * Origin: Kiev University (2:5020/400) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.unix/2256695cf6c29.html, оценка из 5, голосов 10
|