tail命令查看日志信息

实时监控日志:

tail -f filename

实时监控10行日志信息:

tail -10f filename

查看日志尾部的最后100行日志信息:

tail -n 100 filename

查看日志100行之后的日志信息:

tail -n +100 filename

cat命令查看文本信息

查看全部文本内容

cat filename

查看文本的中间某些行范围之间的内容,例如说查看文本文件100-120行之间的内容:

cat -n filename |tail -n +100|head -n 20

不过使用个人不是太喜欢使用这种命令来进行文本的定位查看,因为查看起来过于麻烦,文章下边会有更加简便的命令操作。

tac查看文本信息

和cat命令有点相反,cat命令更多的是从头部往尾部的顺序展现文本内容,而tac命令正好是从文本的尾部往头部展现日志内容

tac filename

例如说,我们通过cat命令和tac命令同时来查看一段相同的内容:

超实用,Linux中查看文本的小技巧

通过不同命令来展示文本,会发现文本的内容顺序有所相反。

搜索文本内容

grep是一种强大的文本搜索工具,它能使用正则表达式搜索文本,并把匹配的行打印出来。

grep命令的常用方式:

在多个文件中查找:

grep "match_pattern" file_1 file_2 file_3 ...

标记匹配颜色 --color=auto 选项:

grep "match_pattern" file_name --color=auto
//【这里的color项可以根据文档说明进行选择always,never,auto三种】

输出除之外的所有行 -v 选项:

grep -v "match_pattern" file_name

使用正则表达式 -E 选项:

grep -E "[1-9]+"

只输出匹配到的内容选项:

grep -o -E "[a-z]+."  line

统计文件或者文本中包含匹配字符串的行数 -c 选项:

grep -c "text" file_name

输出包含匹配字符串的行数 -n 选项:

grep "text" -n file_name

在了解了grep命令能完成的功能点之后,我们可以在实际工作中灵活运用。

有些时候我们也会遇到一些希望查看某个时间段日志信息的需要,这个时候可以利用grep这条命令来实现这个功能,例如说希望查看2019-08-06 22点这一个小时以内的日志信息,那么可以输入以下命令:

 grep '2019-08-06 22' filename


这样可以快速定位到你所希望查看的信息范围。

由于grep命令是可以接收standard input的数据,因此我们通常可以借助管道命令符“ | ”的帮助,在一些标准输出进行中进行查找操作。

例如说,先将文件的内容读取出来,然后借助管道的帮助将内容转发给grep来进行内容过滤,如下边的这段命令:

cat log.file |grep -n '2019-08-06 22:43'


除了使用grep命令之外,也可以使用sed命令来实现相应的效果。

sed是一种非交互式的编辑器,sed会逐行处理文件(或输入),并将结果发送到屏幕。

可能对于新手来说,讲概念还不如直接来几个实操案例更为直接。

sed命令的常用方式:

只打印文件的第一行内容

sed -n '1p'  filename

查看文件的第一行到第十行之间的内容

sed -n '1,10p' filename

删除第一行文本信息

sed '1d' filename

将文本里面的某些字符串进行替换

sed 's/希望替换的内容/被替换的内容/g'
例如:sed 's/1/one /g' filename 将1替换为one

在了解了sed命令的一些基础用法之后,我们可以在实际的工作场景中多次运用,从而强化自己对于sed命令的理解。

例如说,通过sed命令来进行日期范围的指定,例如说查看2019-08-06 22:43-22:44之间的日志记录:

sed -n '/2019-08-06 22:43/,/2019-08-06 22:44/p' filename


上边有说到使用head和tail命令一起来实现对于日志文件的某段内容查看,但是这样的操作实在是有点麻烦,不妨可以尝试使用sed命令来进行操作。

例如说,查看日志的第1-20行内容:

 nl log.file | sed -n '1,10p'


利用more命令进行翻页查看

如果说希望查看的日志文件过大,那么可以通过使用more命令来进行分页查找,例如说设定每一页展示10条数据信息:

more -10 filename


通过使用more命令可以查看到每一页展示的数据,同时通过敲空格键会进行下一页的跳转。同时在窗口中也会显示当前所阅读的文本内容的基础进度。
说了那么多,我们不妨进行一些模拟的操作场景吧:
查看日志最后一次出现关键字**‘test’**的日志记录

 grep 'test' -A 10  log.file | tail -n 11

这里需要了解到grep命令的几个参数含义:

  1. grep ‘name’ -A 10 显示匹配内容和后面的10行
  2. grep ‘name’ -B 10 显示匹配内容和前面的10行
  3. grep ‘name’ -C 10 显示匹配内容和前后面的10行

tail -n 11命令则是将当前显示的10行内容以及匹配的那一行内容展示出现
简单统计一份日志里面出现‘test’关键字的行数
相应命令:

grep 'test' ./log.file |wc -l

这里我们可以先将文本的内容进行输出到标准输出中,然后借助管道将数据信息传给wc命令进行统计。
wc命令常用的几个参数

  1. -l 匹配的行数
  2. -w 匹配的字数
  3. -m 匹配的字符数目

Linux 查找文本相关推荐

  1. Linux查找文本中的重复项,2在Linux中查找和删除重复文件的有用工具

    如果您有从互联网下载各种内容的习惯,组织您的主目录甚至系统可能会特别困难. 通常,您可能会发现已下载相同的mp3,pdf,epub(以及所有其他文件扩展名)并将其复制到不同的目录中. 这可能会导致您的 ...

  2. linux shell find depth,搞定 Linux Shell 文本处理工具,看完这篇集锦就够了

    原标题:搞定 Linux Shell 文本处理工具,看完这篇集锦就够了 Linux Shell是一种基本功,由于怪异的语法加之较差的可读性,通常被Python等脚本代替.既然是基本功,那就需要掌握,毕 ...

  3. Linux查找文件内容

    2019独角兽企业重金招聘Python工程师标准>>> Linux查找文件内容 使用vim命令查找文件内容 我们可以使用/string命令来向前(Forward)查找字符串strin ...

  4. linux对于文本的操作,linux惯用文本操作命令

    linux常用文本操作命令 ---------- vi ---------- vi +n filename:打开文件,并将光标置于n行行首 vi +/pattern filename:打开文件,并将光 ...

  5. linux命令 三大利器,awk、grep、sed是linux操作文本的三大利器,也是必须掌握的linux命令之一...

    awk.grep.sed是linux操作文本的三大利器,也是必须掌握的linux命令之一.三者的功能都是处理文本,但侧重点各不相同,其中属awk功能最强大,但也最复杂.grep更适合单纯的查找或匹配文 ...

  6. linux 全选 编辑文本_强烈推荐:Linux终端文本编辑器Micro

    一般来说Linux老手们用的编辑器都是vi或vim,但是vim等的操作方式对新人超级不友好的. VS Code作为编辑器也不错,但是并不是每个服务器都装了WM和DM. 于是一般都得苦哈哈的用nano. ...

  7. Linux常用文本编辑器,及文本查看摘选的常用命令

    Linux常用文本编辑器: Emacs:功能强大,门槛高,对新手不友好. nano :优点是操作简单,缺点是无强大的命令支持复杂操作. gedit :只能在有gnome的换图形化界面中使用 kedit ...

  8. linux文件/文本处理工具

    linux文件/文本处理工具 正则表达式 正则表达式是什么? 正则表达式如何使用 grep grep是什么 grep语法 grep使用案例 sed sed与vim的区别 sed语法 sed案例 fla ...

  9. [转帖]Linux查找文件6个高效工具

    Linux查找文件6个高效工具 https://www.linuxrumen.com/rmxx/176.html 需要实操-inname-type 等等. 1. 前言 我们使用Linux过程中,经常会 ...

最新文章

  1. Git 常用命令清单
  2. 成功解决pywintypes.com_error: (-2147352573, ‘找不到成员。‘, None, None)
  3. UnicodeDecodeError: 'utf-8' codec can't decode byte 0xce in position 0: invalid continuation by 解决方案
  4. 【Vue】路由Router传参的两种方式(详解)
  5. 7-7 印度大壶节 (25 分)
  6. opencv在手机上实现照片背景虚化
  7. 用C#写的汉语转拼音缩写的例子
  8. 网络爬虫和Python有什么联系
  9. 小程序uniapp基础
  10. AI眼中的世界 ——人工智能绘画入门
  11. Python代码实现验证码识别
  12. 塔菲克蓝牙适配器驱动_TAFIQ蓝牙适配器驱动下载|TAFIQ蓝牙适配器驱动 v4.0 最新免费版 下载 - 巴士下载站...
  13. excel部分快捷键
  14. 什么是php与html,php和html的关系和区别是什么
  15. 什么是驻点和拐点_驻点、极值点、拐点、鞍点的区别与联系
  16. grub4dos挂载iso linux,GRUB4DOS加载ISO启动光盘完美解决方案
  17. 【c语言】初识c语言-让你对c语言不在感到一无所知
  18. SpringBoot--多线程07
  19. 你是否愿意用华为鸿蒙系统,如果华为改用自研的“鸿蒙”系统,你是否愿意尝试?...
  20. SQL Server 2005系列教学(13) 游标

热门文章

  1. abp+dapper+mysql_ABP架构学习系列四:集成Dapper
  2. 涉密计算机格式化维修,未经本单位信息化管理部门批准,不得自行对涉密计算机进行格式化并重装操作系统。...
  3. 计算机电子信息类专业大学排名,电子信息工程专业大学排名 2020全国排行榜
  4. 视频传输解决方案,让视频会议更高效
  5. 从分歧走向融合:图神经网络历经了怎样的演化之路?
  6. ISO27001认证是信息安全管理体系认证
  7. 网站优化SEO关于TDK以及ALT标签的设置点
  8. 为什么腾讯微云上传文件会显示服务器繁忙呢,API - 微云
  9. Android 11:固定热点的ip地址
  10. 韩国国会表决通过中韩自贸协定批准案