Покажи всички категории

$grep част първа


Оценка 5 от максимум 5. Общо гласували: 8.

добавен:
2010-01-13 07:11:58
прегледи:
3184
автор:
Kalin Gergov

 

Основната функция на командата grep е да търси за определен string във файл.

 

Файлът file.txt ще служи за упражнения.

====================================================

$ cat file.txt

PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI

vtoriqt red vyv fajla e s malki bukvi

V Tozi Red Vsqka Duma Zapochva S Glavna Bukva

 

 

Dvata reda nad tozi sa prazni

Posledniqt ot redovete

=====================================================

 

1. Проверка за string в един файл.

 

Синтаксис:

$grep "string" filename

 

Пример:

$grep "vyv fajla" file.txt

vtoriqt red vyv fajla e s malki bukvi

 

 

 

2. Проверка за string в няколко фаила.

 

Синтаксис:

$grep "string" filename filename1

 

Пример:

копираме file.txt във file1.txt

$cp file.txt file1.txt

 

$grep "vyv fajla" file.txt file1.txt

file.txt:vtoriqt red vyv fajla e s malki bukvi

file1.txt:vtoriqt red vyv fajla e s malki bukvi

 

 

 

 

3. Разлика между малки и големи букви.

grep прави разлика между малки и големи букви, ако искаме да премахнем тази зависимост, използваме grep -i

 

Синтаксис:

$grep -i "string" filename

 

Пример:

 

$grep -i "red" file.txt

PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI

vtoriqt red vyv fajla e s malki bukvi

V Tozi Red Vsqka Duma Zapochva S Glavna Bukva

Dvata reda nad tozi sa prazni

Posledniqt ot redovete

 

 

 

 

4. Търсене за строго определен string.

Синтаксис:

$grep -w "string" filename

 

Когато иползвате grep "string" filename, grep ще търси за всички думи, които съдържат в себе си този string.

Т.е. ако търсите "red" ще ви изкара всяка дума, която съдържа "red"

 

$ grep -i red file.txt

PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI

vtoriqt red vyv fajla e s malki bukvi

V Tozi Red Vsqka Duma Pochva S Glavna Bukva

Dvata reda nad tozi sa prazni

Posledniqt ot redovete

 

Но ако искате string "red", който е самостоятелен и не се съдържа в дума, трябва да използвате grep -w "string" filename

 

Пример:

$ grep -iw red file.txt

 

PYRVIQT RED VYV FAJLA E S GLAVNI BUKVI

vtoriqt red vyv fajla e s malki bukvi

V Tozi Red Vsqka Duma Pochva S Glavna Bukva