
第一部分grep 文本搜索1请解释命令 grep -i error server.log 中选项 -i 的作用。-i 忽略大小写匹配时不区分大写、小写error、ERROR、Error 都能匹配上。2命令 grep -n main program.c 会输出什么额外信息-n 会额外输出匹配行的行号每行结果前面带上行编号。3我想统计文件中匹配行的数量而不是显示内容使用了 grep -c pattern file.txt请解释其输出。文件里能匹配上 pattern 的总行数量。4请解释 grep -v success access.log 的含义它筛选出了什么样的内容-v 反向匹配。筛选出不包含 success的所有行。5在命令 grep -w is text.txt 中-w 选项起到了什么关键作用-w 匹配完整单词。6如果要在一个目录及其所有子目录中搜索内容使用 grep -r function ./src请说明 -r 的含义。-r 递归搜索。遍历指定目录同时向下查找所有子目录里面的文件。7命令 grep -l TODO *.py 的输出结果只包含了什么信息只输出存在匹配内容的文件名不会打印文件内匹配到的文本不匹配的文件不显示。8请解释 grep -C 3 error log.txt 中 -C 3 的具体展示效果。打印匹配到 error 的那一行同时额外显示该行上方 3 行、下方 3 行上下文。9grep -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 和 t 中间不管是什么单个字符都能匹配tat、t5t。13在 grep log* file.txt 中星号 * 修饰的是什么它代表什么数量*修饰它前面紧邻的字符 g代表g 出现 0 次或者多次。可以匹配 log 出现 0 次、log、logg、loggg……14命令 grep [0-9] data.txt 匹配的是什么样的字符[0-9]匹配任意单个数字字符0~9。15grep [^a-z] file.txt 中的 ^ 在方括号内表示什么意思方括号[]内部开头的^代表取反匹配任意不是小写英文字母的字符。16我们要使用扩展正则表达式如 或 ?在不使用 egrep 的情况下grep 需要加什么选项给 grep 加上 -E 参数启用扩展正则表达式。17egrep god file.txt 中的 号与 * 号有什么区别*前面字符出现 0 次或多次前面字符至少出现 1 次最多不限。god 匹配 god、good、goood不能匹配 gdo 不能省略。18请解释 egrep error|warning log.txt 中竖线 | 的作用。竖线|代表或匹配包含 error 或者 warning 任意一个内容的行。19命令 egrep (ab) file.txt 匹配的模式是怎样的括号把 ab 打包成一组表示这一组至少出现一次。匹配ab、abab、ababab……20grep 40[34] access.log 这个命令可以匹配哪些HTTP状态码匹配 403、404 两个 HTTP 状态码。21在正则表达式 a{2,5} 中花括号内的数字限制了什么限制前面字符 a连续出现次数最少 2 次最多 5 次aa、aaa、aaaa、aaaaa 都匹配。22grep ^$ file.txt 这一组合通常用来查找文件中的什么内容^行开头$行结尾中间没有字符用来查找文件里的空行 **。23解释命令 grep --coloralways keyword file.txt 的视觉效果。把匹配成功的 keyword 文字用彩色高亮显示always 代表无论输出到终端还是重定向文件都保留颜色标记。24如果要查找IP地址模式 [0-9]{1,3}\. 代表IP地址的哪一部分结构匹配 1~3 位数字加上一个点对应 IP 地址里**每一段数字和后面的小数点**例如 192. 、168.