推荐答案
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" 的行。