grep
grep 是一个非常强大且常用的命令行工具,用于在文件中搜索指定的字符串模式(正则表达式)。它在Linux及其他Unix-like系统中广泛使用。
基本用法
- 搜索文件中的文本:
grep "search_pattern" filename- 这会在
filename指定的文件中查找包含search_pattern的所有行,并输出这些行。
- 这会在
常用选项
-i: 忽略大小写。-v: 反转匹配,即只显示不匹配的行。-r或-R: 递归地在目录下的所有文件中查找。-n: 显示匹配行及其行号。-w: 匹配整个单词。-A n,-B n,-C n: 分别显示匹配行之后、之前、前后各n行的内容。
示例
-
忽略大小写搜索:
grep -i "hello" myfile.txt此命令会忽略大小写,在
myfile.txt中搜索“hello”。 -
反向匹配:
grep -v "pattern" myfile.txt输出
myfile.txt中不包含“pattern”的所有行。 -
递归搜索:
grep -r "pattern" /path/to/directory/在指定目录下的所有文件中递归查找“pattern”。
-
显示匹配行的行号:
grep -n "pattern" myfile.txt输出匹配行时,同时显示它们在文件中的行号。
-
显示上下文:
grep -C 2 "pattern" myfile.txt输出匹配行以及其上下各2行的内容。
-
结合管道使用:
cat myfile.txt | grep "pattern"使用管道将前一个命令的输出作为
grep的输入进行过滤。
实际使用
一天有很多个日志文件,在所有的日志文件查找包含这个唯一流水号的文件 -l 显示文件名
grep -lr seqno