Ответ 1
Вы можете использовать grep для этого с опцией -F.
-F, --fixed-strings PATTERN is a set of newline-separated fixed strings
Я использую инструмент grep-type для поиска строковых литералов. Я ищу появление строки файла журнала, как часть строки в отдельном файле журнала. Текст поиска может содержать всевозможные специальные символы регулярного выражения, например []().*^$-\
.
Есть ли утилита поиска Unix, которая не будет использовать регулярное выражение, а просто поиск литералов вхождения строки?
Вы можете использовать grep для этого с опцией -F.
-F, --fixed-strings PATTERN is a set of newline-separated fixed strings
Это либо fgrep
, либо grep -F
, которое не будет выполнять регулярные выражения. fgrep
идентичен grep -F
, но я предпочитаю не беспокоиться о аргументах, будучи по существу ленивым: -)
grep -> grep
fgrep -> grep -F (fixed)
egrep -> grep -E (extended)
rgrep -> grep -r (recursive, on platforms that support it).
вы также можете использовать awk, поскольку он имеет возможность находить фиксированную строку, а также возможности программирования, например, только
awk '{for(i=1;i<=NF;i++) if($i == "mystring") {print "do data manipulation here"} }' file
Перейдите -F
в grep
.
cat list.txt
one:hello:world
two:2:nothello
three:3:kudos
grep --color=always -F"hello
three" list.txt
one:hello:world
three:3:kudos