Инструменты пользователя

Инструменты сайта


grep

Различия

Показаны различия между двумя версиями страницы.

Ссылка на это сравнение

Предыдущая версия справа и слева Предыдущая версия
Следующая версия
Предыдущая версия
grep [2013/05/22 12:26]
46.231.215.230
grep [2013/05/22 16:29] (текущий)
Строка 6: Строка 6:
  
   
-  grep шаблон путь_к_файлу 
- 
 Эта команда выполнит поиск по шаблону в указанном файле и выведет в стандартный поток вывода строки файла, искомый шаблон содержащие. Эта команда выполнит поиск по шаблону в указанном файле и выведет в стандартный поток вывода строки файла, искомый шаблон содержащие.
  
Строка 16: Строка 14:
   dpkg-query -L packagename | grep "/usr/bin"   dpkg-query -L packagename | grep "/usr/bin"
  
-  
-  dpkg-query -L packagename | grep "/usr/bin" 
  
 Для систем с RPM команда будет выглядеть так: Для систем с RPM команда будет выглядеть так:
  
-  rpm -q --filesbypkg packagename | grep "/usr/bin" 
  
   
Строка 32: Строка 27:
 Выполняя поиск в файлах, grep умеет работать рекурсивно. Чтобы заставить grep работать таким образом, используйте опцию «-r». А по умолчанию grep будет искать только в файлах, находящихся в текущем каталоге. Таким образом, если вы запустите что-то вроде Выполняя поиск в файлах, grep умеет работать рекурсивно. Чтобы заставить grep работать таким образом, используйте опцию «-r». А по умолчанию grep будет искать только в файлах, находящихся в текущем каталоге. Таким образом, если вы запустите что-то вроде
  
-  grep шаблон * 
  
   
Строка 41: Строка 35:
 Но если вы запустите Но если вы запустите
  
-  grep -r шаблон *+  
    
   
Строка 56: Строка 50:
  
 Само собой, вы можете комбинировать опции. Например, чтобы найти файлы, не содержащие строк, соответствующих шаблону можно использовать Само собой, вы можете комбинировать опции. Например, чтобы найти файлы, не содержащие строк, соответствующих шаблону можно использовать
- 
-  grep -v -l pattern * 
  
   
Строка 71: Строка 63:
 Используя эти опции, необходимо указать саму опцию и целое число, определяющее количество строк для вывода. Например Используя эти опции, необходимо указать саму опцию и целое число, определяющее количество строк для вывода. Например
  
-  grep -C 2 pattern files 
  
   
Строка 79: Строка 70:
 Регулярные выражения Регулярные выражения
  
-  grep может оказаться совершенно неиспользуемой в повседневной жизни, если вы собираетесь при помощи неё искать лишь какие-то конкретные последовательности символов.  А как быть с тем, если вам нужно найти, например, только цифры или последовательность символов, в которую могут входить лишь определённые символы или их группы? Не проблема! Используя регулярные выражения в grep, вы получаете инструмент для решения чуть ли не любой задачи поиска.+grep может оказаться совершенно неиспользуемой в повседневной жизни, если вы собираетесь при помощи неё искать лишь какие-то конкретные последовательности символов.  А как быть с тем, если вам нужно найти, например, только цифры или последовательность символов, в которую могут входить лишь определённые символы или их группы? Не проблема! Используя регулярные выражения в grep, вы получаете инструмент для решения чуть ли не любой задачи поиска.
  
 Давайте немного рассмотрим регулярные выражения, которые, вероятно, вам пригодятся. В командной оболочке символ звёздочки «*» соответствует любому символу ноль или более раз. В grep символ «*» имеет несколько иное значение. В grep этот символ необходимо группировать с другими. Например, если вам нужен тот же эффект, как и в оболочке, используйте следующее: Давайте немного рассмотрим регулярные выражения, которые, вероятно, вам пригодятся. В командной оболочке символ звёздочки «*» соответствует любому символу ноль или более раз. В grep символ «*» имеет несколько иное значение. В grep этот символ необходимо группировать с другими. Например, если вам нужен тот же эффект, как и в оболочке, используйте следующее:
  
-  grep '.*' pattern files 
  
   
Строка 95: Строка 85:
  
   
-  ls | grep '.*html$'+
  
 Если вам необходимо, чтобы grep интерпретировала спецсивмолы как обычные — предварите их обратным слешем. Например Если вам необходимо, чтобы grep интерпретировала спецсивмолы как обычные — предварите их обратным слешем. Например
- 
-  grep '\*' filename 
  
   
Строка 108: Строка 96:
 В выражениях можно использовать диапазоны и классы символов. Для этого при составлении шаблона в grep используются квадратные скобки. Например, символу в диапазоне от A до Z будет соответствовать шаблон [A-Z]"", а любой цифре — [0-9]"". Также, используя квадратные скобки вы можете определять соответствие классам символов. Например, [:punct:]"" будет соответствовать любому знаку препинания. Например, чтобы найти строки, содержащие знаки препинания в конце, можно использовать следующую команду: В выражениях можно использовать диапазоны и классы символов. Для этого при составлении шаблона в grep используются квадратные скобки. Например, символу в диапазоне от A до Z будет соответствовать шаблон [A-Z]"", а любой цифре — [0-9]"". Также, используя квадратные скобки вы можете определять соответствие классам символов. Например, [:punct:]"" будет соответствовать любому знаку препинания. Например, чтобы найти строки, содержащие знаки препинания в конце, можно использовать следующую команду:
  
-  grep '[[:punct:]]$' files 
  
   
grep.1369225579.txt.gz · Последнее изменение: 2013/05/22 16:26 (внешнее изменение)

DokuWiki Appliance - Powered by TurnKey Linux