Я после инструмента grep-типа для поиска чисто литеральных строк. Я ищу возникновение строки файла журнала как часть строки в отдельном файле журнала. Искомый текст может содержать все виды regex специальных символов, например, []().*^$-\
.
Существует ли утилита поиска Unix, которая не использовала бы regex, но просто искать литеральные случаи строки?
Для этого можно использовать 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