CMD Master
Назад до блогу
Arnošt Havelka

Передача виводу команди через конвеєр

Через | передайте вивід однієї команди в наступну, потім з’єднайте grep і wc.

Почати інтерактивний урок
Передача виводу команди через конвеєр

Конвеєр | бере вивід команди зліва і подає його як вхід команді справа. Вам більше не треба зберігати тимчасові файли лише для того, щоб їх відфільтрувати.

Відфільтрувати список: ls | grep

ls друкує імена. grep залишає рядки, які вам потрібні. Разом:

Спробуйте команду

Залиште з ls лише імена, що збігаються!

Складіть команду
lsgrep
Виберіть команду
Термінал
C:\Users\User>ls | grep .txt

Залиште текстові файли:

Command Prompt
notes.txt readme.txt config.json
C:\Users\User>ls

> пише у файл. | пише в іншу команду. Плутати їх — типова перша помилка.

Ланцюжок із трьох команд

Конвеєр можна ставити більше ніж раз. Порахуйте рядки зі збігом, не відкриваючи журнал:

printf '%s\n' 'info: started' 'warn: slow' 'warn: timeout' > log.txt
cat log.txt | grep warn | wc -l

cat друкує файл, grep залишає рядки з попередженнями, wc -l їх рахує.

Command Prompt
info: started warn: slow info: retry warn: timeout info: done
C:\Users\User>cat log.txt

Будуйте конвеєри зліва направо: отримайте дані, відфільтруйте їх, потім підсумуйте.


Перевірка знань

1 / 3

Що робить оператор |?

Посилання

Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.

Далі

Пошук тексту у файлах за допомогою grep

Знайдіть рядки, що збігаються, у файлі, а регістр літер ігноруйте через grep -i.