+ 我要发布
我发布的 我的标签 发现
浏览器扩展
斑点象@Edge

Linux 使用 cat、tail、grep 命令组合查询

Linux 使用 cat、tail、grep 命令组合,可以更方便快捷的从日志中查找想要的数据 ▶ cat命令 语法: cat [OPTIONS] [FILE...] 参数说明: -n:由 1 开始对所有输出的行数编号。 -b:和 -n 相似,只不过对于空白行不编号。 -s:当遇到有连续两行以上的空白行,就代换为一行的空白行。 -v:使用 ^ 和 M- 符号,除了 LFD 和 TAB 之外。 -E:在每行结束处显示 $。 -T:将 TAB 字符显示为 ^I。 -A:等价于 -vET。 -e:等价于"-vE"选项; -t:等价于"-vT"选项; [File]: 指定操作的目标文件名称 ▶ tail命令 语法: tail [ -f ] [ -c Number | -n Number | -m Number | -b Number | -k Number ] [ File ] 参数说明: -f: 该参数用于监视File文件增长。 -c Number: 从 Number 字节位置读取指定文件 -n Number: 从 Number 行位置读取指定文件。 -m Number: 从 Number 多字节字符位置读取指定文件,比方你的文件假设包括中文字,假设指定-c参数,可能导致截断,但使用-m则会避免该问题。 -b Number: 从 Number 表示的512字节块位置读取指定文件。 -k Number: 从 Number 表示的1KB块位置读取指定文件。 [File]: 指定操作的目标文件名称 例如常用的实时查看Nginx前20条访问日志: tail -f -n 100 access.log ▶ grep 命令 语法: grep [OPTIONS] PATTERN [FILE...] grep [OPTIONS] [-e PATTERN]... [-f FILE]... [FILE...] 参数说明: -e: 使用正则搜索 -i: 不区分大小写 -v: 查找不包含指定内容的行 -w: 按单词搜索 -c: 统计匹配到的次数 -n: 显示行号 -r: 逐层遍历目录查找 -A: 显示匹配行及前面多少行, 如: -A3, 则表示显示匹配行及前3行 -B: 显示匹配行及后面多少行, 如: -B3, 则表示显示匹配行及后3行 -C: 显示匹配行前后多少行, 如: -C3, 则表示显示批量行前后3行 --color: 匹配到的内容高亮显示 --include: 指定匹配的文件类型 --exclude: 过滤不需要匹配的文件类型 例如使用正则查找字符串 https 在文件中出现的次数: grep -c -e 'https.*' access.log ▶ 结合 cat、tail、grep 命令组合查询 查询 access.log 日志中字符串 https 的前100行 cat access.log |grep -e "https.*" |tail -n 100 查询 access.log 日志中字符串 https 的后100行 cat access.log |grep -e "https.*" |tail -n -100 查询 access.log 日志中百度蜘蛛的访问记录 cat access.log |grep -e "baidu.*spider" |tail -n 10 从最近100条记录中查询并实时显示百度蜘蛛的访问日志 tail -f -n 100 access.log |grep -e "baidu.*spider"
我的笔记