1:请解释命令 grep -i "error" server.log 中选项 -i 的作用。
不区分大小写的搜索带'error'的行。
2:命令 grep -n "main" program.c 会输出什么额外信息?
在每一行之前输出各行序号。
3:我想统计文件中匹配行的数量而不是显示内容,使用了 grep -c "pattern" file.txt ,请解释其输出。
只会输出文件中有几行含有'patern',而不输出匹配到行的具体内容。
4:请解释 grep -v "success" access.log 的含义,它筛选出了什么样的内容?
匹配不含有'success'的行,输出匹配到行的具体内容。
5:在命令 grep -w "is" text.txt 中,-w 选项起到了什么关键作用?
精确匹配含有单词'is'的行,而不是只要含有'is'就行,比如'island'等。
6:如果要在一个目录及其所有子目录中搜索内容,使用 grep -r "function" ./src ,请说明 -r 的含义。
递归搜索,搜索 ./src 目录及其所有子目录下的所有内容,匹配包含'function'的行。
7:命令 grep -l "TODO" *.py 的输出结果只包含了什么信息?
在所有以 .py 结尾的文件中匹配含有 'TODO' 的行,并只输出文件名。
8:请解释 grep -C 3 "error" log.txt 中 -C 3 的具体展示效果。
匹配含有 'error' 的行,输出这一行及其上面三行和下面三行。
9:grep -q "user" /etc/passwd && echo "Exist" ,这里的 -q 是什么模式?通常用于什么场景?
-q 是静默模式,不输出任何内容,只通过退出状态码表示是否找到,用于脚本中的条件判断。
10:正则表达式 grep "^root" /etc/passwd 中的 ^ 符号代表什么?
以root开头。
11:正则表达式 grep "bash" /etc/passwd 中的 符号代表什么?
以bash结尾。
12:请解释 grep "t.t" file.txt 中点号 . 的匹配规则。
匹配两个t之间包含任何一个字符的内容,例如tat,t@t,t t等。
13:在 grep "log*" file.txt 中,星号 * 修饰的是什么?它代表什么数量?
*修饰它前面字符的数量,代表0个或多个。
14:命令 grep "[0-9]" data.txt 匹配的是什么样的字符?
匹配含有0-9中任意一个数的字符。
15:grep "[^a-z]" file.txt 中的 ^ 在方括号内表示什么意思?
匹配不含有a-z之间任意一个字符的内容。
16:我们要使用扩展正则表达式(如 + 或 ? ),在不使用 egrep 的情况下,grep 需要加什么选项?
-E
17:egrep "go+d" file.txt 中的 + 号与 * 号有什么区别?
+号表示的数量是1个或多个;
*号表示的数量是0个或多个。
18:请解释 egrep "error|warning" log.txt 中竖线 | 的作用。
匹配含有 'error' 或 'warning' 的行。
19:命令 egrep "(ab)+" file.txt 匹配的模式是怎样的?
匹配包含一个或多个包含 'ab' 的行。
20:grep "40[34]" access.log 这个命令可以匹配哪些HTTP状态码?
403、404
21:在正则表达式 a{2,5} 中,花括号内的数字限制了什么?
a的个数限制在2-5个。
22:grep "^$" file.txt 这一组合通常用来查找文件中的什么内容?
空行,一个字符也没有的行。
23:解释命令 grep --color=always "keyword" file.txt 的视觉效果。
匹配包含 'keyword' 的行,并高亮显示 'keyword' 。
24:如果要查找IP地址,模式 [0-9]{1,3}\. 代表IP地址的哪一部分结构?
单段数字 + .