LINUX.ORG.RU

Grep как искать по нескольким шаблонам одновременно?

 


0

2

Здравствуйте!

Подскажите, есть команда

cat primer.txt | grep -c "111\|test\|2016-01-04"
которая выведет количество строк в файле где встречается хотя бы один из шаблонов 111, test или 2016-01-04.

А как заставить grep подсчитать строки в которых присутствуют только все шаблоны одновременно?

Ответ на: комментарий от Dred

Поиграй. Вот тебе 10 шаблонов. 0a0b0, 1c1s1, 2a2v2, ..., 9w9a9

Найти стркои: ВСЕ шаблоны есть в ОДНОЙ строке в ЛЮБОМ порядке

anonymous
()
Ответ на: комментарий от anonymous

Вот тебе 10 шаблонов

один из шаблонов 111, test или 2016-01-04.

Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от Andrei_IW

получится что-то вроде такого grep -E ".*(111|test).*(111|test)" , но придется через OR указывать порядок каждого случая, что ни разу не удобно

Dred ★★★★★
()
Последнее исправление: Dred (всего исправлений: 1)
Ответ на: комментарий от Dred

Понятно. Иначе говоря оно того не стоит. Ладно, надо тогда будет придумать другой подход. А так ребят спасибо что откликнулись.

Andrei_IW
() автор топика

cat primer.txt | grep

Избавляйся от этой вредной привычки

sudopacman ★★★★★
()
Ответ на: комментарий от no-such-file

можно вообще скрипт накатать, который последовательно грепы вызовет. Или распарстить на любимом ЯП. Тысячи способов.

Dred ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.