推荐答案
grep [选项] 模式 [文件...]
常用选项:
-i:忽略大小写-v:反向匹配,显示不包含模式的行-c:统计匹配的行数-n:显示匹配行的行号-r或-R:递归搜索目录中的文件-l:只显示包含匹配模式的文件名-w:匹配整个单词-A NUM:显示匹配行及其后NUM行-B NUM:显示匹配行及其前NUM行-C NUM:显示匹配行及其前后NUM行-e:指定多个模式-f FILE:从文件中读取模式--color:高亮显示匹配的文本
本题详细解读
-i 选项
-i 选项用于在搜索时忽略大小写。例如:
grep -i "hello" file.txt
这会在 file.txt 中查找所有包含 "hello" 的行,无论大小写。
-v 选项
-v 选项用于反向匹配,即显示不包含指定模式的行。例如:
grep -v "error" log.txt
这会显示 log.txt 中所有不包含 "error" 的行。
-c 选项
-c 选项用于统计匹配的行数。例如:
grep -c "warning" log.txt
这会统计 log.txt 中包含 "warning" 的行数。
-n 选项
-n 选项用于显示匹配行的行号。例如:
grep -n "error" log.txt
这会显示 log.txt 中包含 "error" 的行及其行号。
-r 或 -R 选项
-r 或 -R 选项用于递归搜索目录中的文件。例如:
grep -r "function" /path/to/dir
这会在 /path/to/dir 目录及其子目录中查找包含 "function" 的文件。
-l 选项
-l 选项用于只显示包含匹配模式的文件名。例如:
grep -l "main" *.c
这会显示所有包含 "main" 的 .c 文件名。
-w 选项
-w 选项用于匹配整个单词。例如:
grep -w "is" file.txt
这会在 file.txt 中查找包含单词 "is" 的行。
-A NUM 选项
-A NUM 选项用于显示匹配行及其后NUM行。例如:
grep -A 2 "error" log.txt
这会显示 log.txt 中包含 "error" 的行及其后两行。
-B NUM 选项
-B NUM 选项用于显示匹配行及其前NUM行。例如:
grep -B 2 "error" log.txt
这会显示 log.txt 中包含 "error" 的行及其前两行。
-C NUM 选项
-C NUM 选项用于显示匹配行及其前后NUM行。例如:
grep -C 2 "error" log.txt
这会显示 log.txt 中包含 "error" 的行及其前后两行。
-e 选项
-e 选项用于指定多个模式。例如:
grep -e "error" -e "warning" log.txt
这会在 log.txt 中查找包含 "error" 或 "warning" 的行。
-f FILE 选项
-f FILE 选项用于从文件中读取模式。例如:
grep -f patterns.txt log.txt
这会在 log.txt 中查找包含 patterns.txt 中列出的模式的行。
--color 选项
--color 选项用于高亮显示匹配的文本。例如:
grep --color "error" log.txt
这会在 log.txt 中高亮显示包含 "error" 的行。