Глобален печат с редовен израз или просто греп е една от най-универсалните и често срещани команди в Unix и Linux системите. Командата търси единични или множество входни файлове и съвпадащи линии на шаблона. В резултат на това получавате стандартен изход със съответстващите линии.
Ако не посочите файл, grep използва стандартния вход за показанията и най-вероятно ще бъде изход на друга команда. Като цяло, grep разполага с лесен синтаксис, независимо дали го използвате с или без името на файла.
Тази статия ви предоставя бърз преглед на синтаксиса на grep и някои основни команди, които можете да използвате с или без името на файла.
Преди да започнеш
Всички команди grep следват един и същ синтаксис и всеки параметър има специфична функция. Ето примерната линия:
греп PATTERN
Можете да използвате няколко OPTIONS в греп, за да контролирате изхода на командата и числото започва от нула. PATTERN указва модела на търсене, който искате да приложите. Що се отнася до FILE, тук отиват името или имената на файла, но параметърът може да бъде зададен на нула.
Търсене на струни в командния изход
Както е посочено, не е необходимо да използвате конкретни входни файлове. Изходът на друга команда може да се използва в греп за получаване на линии, които точно съвпадат с даден модел. Това може да се използва, за да се определи кои процеси са активни в системата. Това е примерен синтаксис на команда:
$ ps -ef | grep www-data
Резултатът, който получавате, трябва да изглежда така:
www-data 18247 12675 4 16:00? 00:00:00 php-fpm: басейн www
root 18272 17714 0 16:00 pts / 0 00:00:00 grep –color = auto –exclude-dir = .bzr –exclude-dir = CVS –exclude-dir = .git –exclude-dir = .hg –exclude- dir = .svn www-data
www-data 31147 12770 0 Oct22? 00:05:51 nginx: работен процес
www-data 31148 12770 0 Oct22? 00:00:00 nginx: процес на кеш мениджър
Има начин да изключите командния ред, който включва греп процеси. За целта трябва да използвате $ ps -ef | grep www-data | grep -v grep команда.
Grep Search Word
Можете да използвате grep команди, за да търсите конкретни думи във файлове на вашата система. Всъщност няма нужда да пишете цяла дума. Можете просто да използвате gnu, например, и командата извежда всички думи, които имат тези три букви в тях. Синтаксисът на командите е:
$ grep gnu / usr / share / words
След като изпълните командата, изходът ви трябва да изглежда така:
Малко Шарково
гну
безвластие
lgnu9d
Lignum
магнум
Магнусон
торфен мъх
Wingnut
От друга страна, можете да търсите точно за тази конкретна дума или низ от букви и да изключвате всичко останало. За това трябва да добавите -w или –word - regexp към синтаксиса. В този случай примерната команда изглежда така - $ grep -w gnu / usr / share / words .
Забележка: За граматически цели някои от командите имат пълен стоп в края. Не се нуждаете от този препинателен знак за греп. Изключете го, когато копирате / поставите командата.
Чувствителен ли е случаят Grep?
Всички греп команди по подразбиране са чувствителни към регистъра. Това означава, че използването на малки и малки букви прави разлика в самата команда. Можете обаче да добавите - i ( - ignore - case ) към командния ред и да позволите на системата да търси както главни, така и малки и малки букви.
Например, вашата команда за въвеждане може да изглежда като $ $ grep -i Zebra / usr / share / words . Той позволява на изхода да съответства на всяка комбинация от главни и малки букви, когато търси зебра.
Линии на номера
Използвайте опцията –line-number или просто -n, за да определите броя на редовете със низ, който съответства на определен модел на търсене. В резултат на това получавате стандартен изход с номер на ред пред него.
Точната команда може да изглежда така: $ grep -n 10000 / и т.н. / услуги . След изпълнение, изходът предоставя всички съвпадения, които намира на 10000 реда. Вижте по-долу пробата:
10423: ndmp 10000 / tcp
10424: ndmp 10000 / udp
Файлове в папки
Можете да поставите звездичка зад команда grep вместо име на файл. Използвайки отново критериите gnu, командата изглежда като тази $ grep gnu * и изходът изброява файловете, които съдържат gnu инча Важно е да се отбележи, че този вид команда връща ред.
Забележка: С греп линия се отнася до поредица от знаци, които се изпълняват до определен прекъсване. Освен ако не прецизирате търсенето, изходът може да съдържа цели параграфи информация.
Направете следващата стъпка с Греп
Това ръководство просто надраска повърхността на това, което можете да направите с греп. Може да отнеме известно време, за да се получат всички коефициенти и краища, но синтаксисът следва доста прост принцип. И с известна практика ще можете да усъвършенствате търсенията си до съвършенство, със или без името на файла.
