Наполним файл таким текстом:
$ a=0; b=2; while [[ $a -lt $b ]]; do a=$(($a+1)); echo $a >> 1.txt; done
$ cat 1.txt 1 2
Содержание
GREP – Поиск с оператором OR
Теперь – с помощью grep
выполним поиск с оператором OR
:
$ grep "1|2" 1.txt 1 2
Другой вариант – с использованием опции -E (extended-regexp)
:
$ grep -E "1|2" 1.txt 1 2
И, конечно, раз тут используется regex
– то можно сделать так:
$ grep -E "^1$|2" 1.txt 1 2
Ещё пример:
$ grep -e 1 -e 2 1.txt 1 2
С помощью egrep
:
$ egrep "1|2" 1.txt 1 2
GREP – Поиск с оператором AND
Изменим файл:
$ sed 's/1/1 2/g' 1.txt > 2.txt $ cat 2.txt 1 2 2
Ищем:
$ grep -E '1.*2' 2.txt 1 2
$ grep '1' 2.txt | grep '2' 2.txt 1 2 2
GREP – Поиск с оператором NOT
Правильнее, конечно, тут сказать “с опцией”, а не “оператором”.
Изменим файл:
$ echo 1 >> 2.txt
$ cat 2.txt 1 2 2 1
$ grep -v 1 2.txt 2