Передача виводу команди через конвеєр
Через | передайте вивід однієї команди в наступну, потім з’єднайте grep і wc.
Почати інтерактивний урокКонвеєр | бере вивід команди зліва і подає його як вхід команді справа. Вам більше не треба зберігати тимчасові файли лише для того, щоб їх відфільтрувати.
Відфільтрувати список: ls | grep
ls друкує імена. grep залишає рядки, які вам потрібні. Разом:
Залиште з ls лише імена, що збігаються!
Залиште текстові файли:
> пише у файл. | пише в іншу команду. Плутати їх — типова перша помилка.
Ланцюжок із трьох команд
Конвеєр можна ставити більше ніж раз. Порахуйте рядки зі збігом, не відкриваючи журнал:
printf '%s\n' 'info: started' 'warn: slow' 'warn: timeout' > log.txt
cat log.txt | grep warn | wc -l
cat друкує файл, grep залишає рядки з попередженнями, wc -l їх рахує.
Будуйте конвеєри зліва направо: отримайте дані, відфільтруйте їх, потім підсумуйте.
Перевірка знань
1 / 3Що робить оператор |?
Посилання
Ці посилання на документацію надають авторитетну інформацію про команди, використані в цій статті.
Далі
Знайдіть рядки, що збігаються, у файлі, а регістр літер ігноруйте через grep -i.