Grep用于文字字符串

时间:2010-07-14 02:01:29

标签: unix grep

我正在使用grep-type工具来搜索纯文字字符串。我正在寻找一行日志文件的出现,作为单独日志文件中一行的一部分。搜索文本可以包含各种正则表达式特殊字符,例如[]().*^$-\

是否存在不使用正则表达式的Unix搜索实用程序,只是搜索字符串的字面值?

5 个答案:

答案 0 :(得分:107)

您可以使用grep,使用-F选项。

-F, --fixed-strings       PATTERN is a set of newline-separated fixed strings

答案 1 :(得分:9)

这是fgrepgrep -F,它们不会执行正则表达式。 fgrepgrep -F完全相同,但我宁愿不必担心这些论点,本质上是懒惰的: - )

grep   ->  grep
fgrep  ->  grep -F  (fixed)
egrep  ->  grep -E  (extended)
rgrep  ->  grep -r  (recursive, on platforms that support it).

答案 2 :(得分:3)

-F传递给grep

答案 3 :(得分:3)

你也可以使用awk,因为它有能力找到固定的字符串,以及编程功能,例如

awk '{for(i=1;i<=NF;i++) if($i == "mystring") {print "do data manipulation here"} }' file

答案 4 :(得分:1)

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