Основна фільтрація за допомогою grep

Одна з команд, яку я найчастіше використовую в терміналі, це grep , навіть частіше, ніж cd або ls.

grep має багато опцій та пропонує різноманітні можливості; однак, я використовую найзвичайнішу можливу форму, але почнемо з пояснення, що таке grep.

grep - це просто фільтр, це команда, яка показує рядки, що відповідають заявленому нами фільтру.

Наприклад, у нашій системі є файл /usr/share/doc/bash/FAQ , вміст якого такий:

Перегляд вмісту файлу

Якщо ви хочете переглянути вміст терміналу за допомогою команди cat (так, cat, типу cat хе-хе), ви можете зробити це:

cat /usr/share/doc/bash/FAQ

Тепер, припустимо, ми хочемо лише перерахувати рядок цього файлу, що говорить про версію, для цього ми використовуємо grep:

cat /usr/share/doc/bash/FAQ | grep version

Якщо вказати, що в терміналі буде показано лише рядок, який містить "версію" у цьому файлі, він більше не відображатиме жодного рядка, який не містить цього слова.

Що робити, якщо я хочу показати все, крім рядка версії?

Іншими словами, як я пояснив, відображатиметься все, що відповідає фільтру. Тепер я покажу вам, як зробити так, щоб відображалося все, крім того , що відповідає фільтру:

cat /usr/share/doc/bash/FAQ | grep -v version

Ви помічаєте різницю? … просте додавання -v має значення 

Іншими словами, якщо ви введете лише grep , програма покаже вам те, що відповідає фільтру, але якщо ви введете grep -v, програма покаже вам усе, крім того, що знаходиться у фільтрі.

Ну, це кінець публікації, просто ще одна порада, яку зараз можна недооцінити, але... ви навіть не уявляєте, наскільки корисним може бути grep, він справді рятує життя 

привіт


Додати як пріоритетне джерело в Google