Фільтри пошуку підрядка

grep fgrep egrep

Відмінність:

grep – пошук одного простого шаблону в групі файлів

fgrep - декілька зразків одночасно в одному файлі grep

використовує регулярний вираз, а fgrep - ні

egrep – використовує в зразках розширений набір символів

Найбільш поширений - grep

Синтаксис

grep <зразок> <список файлів>

<опції>:

-i – ігнорувати регістр

-c – виводити тільки кількість знайдених збігів.

-l - виводити тільки імена файлів, що містять зразок

-n – нумерує рядки

-v – виводить рядки, що не містять зразок

<зразок>: регулярний вираз з використанням символів

* декілька

.? один

[ ] один з набору

۸ початок рядка

$ кінець рядка

Приклад

1. Створити файл students із спісоком групи. Підрахувати, скільки в ньому рядків

cat students | wc -l

2. видати перші 10 прізвищ

head –n 10 students

3. видати останні 10 прізвищ

tail –n 10 students

4. знайти в ньому рядок, відповідний конкретному прізвищу

grep <fam> students

5. скільки прізвищ починається на d?

grep –c “^d” students

grep “^d” students | wc -l

6. Знайти користувача user в файлі /etc/passwd:

grep user /etc/passwd

7. Подивитися всі локальні мережеві імена, зареєстровані в системі:

grep "^127.*" /etc/hosts

Редагуючі фільтри

sort - сортування

diff – порівнює два файли і виводить результат порівняння

uniq – з групи одинакових вибирає один

Опції sort

-o – записати в файл

-c – перевіряє чи відсортований файл

-u – виводить повторний рядок тільки один раз

-d – ігнорує символи набір яких не являється буквами,

цифрами або пробелом

-f – ігнорує регістр

-r – зворотний порядок

-b – ігнорує початкові пробелы

+ <n> - пропускає n полів в рядку + 2 – почати з 3 – го поля

- <n> - закінчити на полі n

- t – задає розділитель полів, за умовчанням пробел

Опції uniq

-c – перед кожним рядком ставить кількість збігів

-d – виводить тільки рядки які повторюються

-u - виводить тільки ті рядки які неповторюються

-<n> - пропускає n полів в рядку

+<n> - пропустити n полів +пробелы

Для ефективного використання фільтру uniq файл заздалегідь треба сортувати.

Приклад

who | cut -f1 -d' ' | sort | uniq

Фільтри даних

cut – вирізати підрядок

paste – вставити підрядок

join – об’єднати рядки з різних файлів

tr – заміна символів

Опції cut

- f <n> номер поля яке вирізається

<n1>, <n2> група

<n1> - <n2> - діапазон полів

-c - <n1> <n2> - вирізається посимвольно

-d <розділитель> - задає розділитель


Понравилась статья? Добавь ее в закладку (CTRL+D) и не забудь поделиться с друзьями:  



double arrow
Сейчас читают про: