grep
是一个在类 Unix 系统中广泛使用的命令行工具,主要用于搜索文本文件中的模式(可以是简单文本字符串或复杂的正则表达式),并打印出匹配的行。下面是一些 grep
基本用法的例子:
搜索单个字符串:
grep "search_string" filename
这个命令会在
filename
文件中查找包含search_string
的行,并打印出匹配的行。搜索多个文件:
grep "search_pattern" file1 file2 file3
同时搜索多个文件中包含
search_pattern
的行。搜索目录下的所有文件:
grep "pattern" directory/*
在指定目录下的所有文件中查找
pattern
。不区分大小写搜索:
grep -i "search_string" filename
-i
参数表示进行不区分大小写的搜索。仅显示匹配行的文件名:
grep -l "pattern" *
-l
参数会让grep
只列出包含匹配行的文件名,而不是显示匹配的内容。显示匹配行及其行号:
grep -n "pattern" filename
-n
参数会显示每行匹配内容前面的行号。搜索多行上下文:
grep -C number "pattern" filename
-C number
参数会显示匹配行前后的指定行数(number)作为上下文一同输出。只输出匹配行的数量:
grep -c "pattern" filename
-c
参数用于统计包含匹配模式的行数。搜索标准输入:
cat file | grep "pattern"
如果没有指定文件名,或者文件名是
-
,那么grep
将从标准输入(stdin)读取数据进行搜索。反向匹配(排除匹配的行):
grep -v "pattern" filename
-v
参数用来显示不包含指定模式的所有行。
以上只是 grep
命令的一些基本用法,它还有许多其他高级特性,包括支持更复杂的正则表达式和不同的输出格式。