Заглавная страница Избранные статьи Случайная статья Познавательные статьи Новые добавления Обратная связь FAQ Написать работу КАТЕГОРИИ: ТОП 10 на сайте Приготовление дезинфицирующих растворов различной концентрацииТехника нижней прямой подачи мяча. Франко-прусская война (причины и последствия) Организация работы процедурного кабинета Смысловое и механическое запоминание, их место и роль в усвоении знаний Коммуникативные барьеры и пути их преодоления Обработка изделий медицинского назначения многократного применения Образцы текста публицистического стиля Четыре типа изменения баланса Задачи с ответами для Всероссийской олимпиады по праву
Мы поможем в написании ваших работ! ЗНАЕТЕ ЛИ ВЫ?
Влияние общества на человека
Приготовление дезинфицирующих растворов различной концентрации Практические работы по географии для 6 класса Организация работы процедурного кабинета Изменения в неживой природе осенью Уборка процедурного кабинета Сольфеджио. Все правила по сольфеджио Балочные системы. Определение реакций опор и моментов защемления |
Пошук у файлах за допомогою команди grep, egrep і fgrep.Содержание книги
Поиск на нашем сайте
Всі команди egrep в основному схожі між собою. Єдина істотна відмінність полягає в тому, що в шаблонах підстановки egrep використовується дещо відмінний від інших команд синтаксис, тоді як fgrep використовує фіксовані рядки. Специфічні деталі, що відносяться до можливостей шаблонів підстановки цих програм, можна знайти в керівництві по використовуванню програми grep. Наприклад, якщо вам необхідно знайти в керівництві всі рядки, які починаються з цифри, скористайтеся наступним записом: # grep ^[0-9] guide.txt 1 Introduction to Linux 1 2 Obtaining and Installing Linux 40 3 Linux Tutorial 85 4 System Administration 137 ... # egrep ^ [0-9] guide.txt 1 Introduction to Linux 1 2 Obtaining and Installing Linux 40 3 Linux Tutorial 85 4 System Administration 137 ... # fgrep ^ [0-9] guide.txt Як видно з наведеного прикладу, grep і egrep повертають результати пошуку (приводяться тільки перші чотири рядки виведення). Оберніть, проте, увагу на те, що fgrep не обробляє регулярних виразів. При роботі з fgrep слід використовувати фіксовані шаблони або рядки, наприклад: # fgrep friend guide.txt large extent window manager. This friendly program is in Linux from а friend who may already have software, or share (Unfortunately, system was being unfriendly.) Тепер скористаємося командою egrep для пошуку в тексті файлу прикладів, в яких зустрічається вираз (b): # egrep "\([b]\)" guide.txt. (see Section 1.8 for а list compatible boards), or (b) there is an connect to network, or (b) уоu have а ''dynamic'' IP address В результаті знайдено два рядки файлу, в точністі відповідну (b). А зараз подивимося, що вийде, якщо застосувати для пошуку програму grep: # grep "\([b]\)" guide.txt This is version 2.2.2 book, "Linux Installation and Getting to PostScript printers. This document was generated а set tools from LaTeX source, so there may be а number formatting problems. This is not "official version book"! Please see Як бачите, команда grep не використовує той же синтаксис, що і команда egrep. В даному випадку можна використовувати більш простий підхід: # grep "(b)" guide.txt (see Section 1.8 for а list compatible boards), or (b) there is an connect to network, or (b) уоu have а "dynamic'' IP address Цей шаблон працює і з grep, і з fgrep. Якщо ви спробуєте застосувати цей шаблон з egrep, ви отримаєте точно такий же результат, як у разі використовування розширеного регулярного виразу з grep (тобто всі рядки, що містять (b)). Всі програми сімейства grep працюють приблизно з однаковим набором опцій командного рядка. Одна з опцій -n, що часто використовуються, або опція нумерації рядків (line numbering). Ця опція вельми зручна, оскільки дає можливість побачити, які саме рядки файлу містять збіги з шаблоном. Що приводиться нижче приклад застосовний для будь-якої з grep -програм. # egrep -n "friend" guide.txt 1242: large extent window manager. This friendly program is 1942: сміттю Linux from а friend who may already have software, or 5161: (Unfortunately, system was being unfriendly.) Як видно з прикладу, збіги знайдені в рядках 1242, 1942 і 5161. Ще одна корисна властивість grep-програм полягає в тому, що вам не потрібно повторювати введення вашого шаблона при кожній спробі виконати пошук. Ось простий приклад. Якщо вам необхідно повторно здійснити пошук різних слів в тексті файлу, ви можете помістити пошуковий запит у файл для його подальшого використовування. Спочатку створіть текстовий файл, а потім для завдання файлу, в якому здійснюватиметься пошук, задайте опцію -f, як в наведеному приклад: # cat > mywords wonderful Typewriter War # grep -nf mywords guide.txt 574:Typewriter Used to represent screen interaction, as in 617: software since original Space War, or, more recently, Emacs 1998: Now уоu must be convinced how wonderful Linux is, and all 2549:inanimate object is а wonderful way to relieve осcasional 3790: Warning: Linux cannot currently use 33090 sectors 7780: to wear magic hat when it is not needed, despite wonderful 10091: wonderful programs and configurations are available with а bit Оскільки в прикладі також використовується опція нумерації рядків, повинно бути зрозуміло, що вона повинна задаватися перед опцією -f, або опцією вказівки файлу (f — file), в іншому випадку grep видає повідомлення про те, що не може знайти файл з ім'ям n і завершує роботу. Можна примусити grep працювати як fgrep за допомогою опції -F, або як egrep за допомогою опції -Е.
|
||||
|
Последнее изменение этой страницы: 2017-02-06; просмотров: 298; Нарушение авторского права страницы; Мы поможем в написании вашей работы! infopedia.su Все материалы представленные на сайте исключительно с целью ознакомления читателями и не преследуют коммерческих целей или нарушение авторских прав. Обратная связь - 216.73.216.220 (0.006 с.) |