linux里面常用的查看文本小技巧

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: linux里面常用的查看文本小技巧

日常开发中,我们经常需要在服务器上边进行各种文本,日志的查看操作,本文主要对常用的文本,日志查看技巧进行了一番总结和归纳,方便大家收藏起来后续查看使用:

tail命令查看日志信息


实时监控日志:


tail -f filename
复制代码


实时监控10行日志信息:


tail -10f filename
复制代码


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


tail -n 100 filename
复制代码


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


tail -n +100 filename
复制代码


head命令查看文本信息


查看文本开始的头100行信息:


head -n 100 filename
复制代码


查看文本最后100行信息以上的内容


head -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命令同时来查看一段相同的内容:


网络异常,图片无法展示
|


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

搜索文本内容


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


常见的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命令的几个参数含义:


grep ‘name’ -A 10 显示匹配内容和后面的10行

grep ‘name’ -B 10 显示匹配内容和前面的10行

grep ‘name’ -C 10 显示匹配内容和前后面的10行


tail -n 11命令则是将当前显示的10行内容以及匹配的那一行内容展示出现


简单统计一份日志里面出现‘test’关键字的行数


相应命令:


grep 'test' ./log.file |wc -l
复制代码


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


wc命令常用的几个参数
-l 匹配的行数
-w 匹配的字数
-m 匹配的字符数目
复制代码


linux里面对于文本信息的查看技巧实在是有太多了,远远不局限于我在文中所提及的这些,因此在实际的工作中我们还可以多多将有助于自己提升工作效率的技巧进行归纳和总结。

相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
目录
相关文章
|
1月前
|
监控 Linux Perl
【专栏】Linux 命令小技巧:显示文件指定行内容的方法,包括使用`head`和`tail`命令显示文件头尾部分
【4月更文挑战第28天】本文介绍了Linux中显示文件指定行内容的方法,包括使用`head`和`tail`命令显示文件头尾部分,利用`sed`的行号指定功能以及`awk`处理文本数据。文章还列举了在代码审查、日志分析和文本处理中的应用场景,并提醒注意文件编码、行号准确性及命令组合使用。通过练习和实践,可以提升Linux文本文件处理的效率。
|
1月前
|
Linux Shell
嵌入式Linux系统脚本小技巧之启动脚本
嵌入式Linux系统脚本小技巧之启动脚本
29 2
|
11天前
|
数据挖掘 Linux Perl
Linux命令join:高效处理文本数据的利器
`join`是Linux文本处理的强兵,用于基于共同字段合并两个已排序文件。它按字典序比较字段,支持自定义分隔符,且能处理未匹配行。`-a`显示未匹配行,`-e`指定空字段替换值,`-j`设置共同字段,`-o`定制输出格式,`-t`定义字段分隔符。在数据分析时,务必先排序文件,并根据需求调整参数。可与`sort`、`cut`等命令配合使用。
|
22天前
|
监控 Unix Linux
windows和linux实时监控文本内容的命令
windows和linux实时监控文本内容的命令
25 1
|
22天前
|
数据挖掘 Unix Linux
探索Linux中的强大文本处理工具——dgawk
dgawk,GNU awk的增强版,是一款强大的Linux文本处理工具,擅长模式扫描和数据提取。它提供复杂文本分析、易用性、可定制脚本及高效处理大文件的能力。基本语法为`dgawk 'pattern { action }' file`。通过打印、模式匹配、字段操作、BEGIN/END块及自定义函数等功能,用户能高效处理文本数据。掌握dgawk能提升文本分析效率,对系统管理员和数据分析师尤其有用。
|
1月前
|
Linux 开发工具 Perl
|
29天前
|
Linux 应用服务中间件 nginx
linux小技巧: 可以补全命令 别名永久有效
linux小技巧: 可以补全命令 别名永久有效
|
22天前
|
Linux
探索 Linux 中的 `bzmore` 命令:一个方便的文本查看工具
探索 Linux 中的 `bzmore` 命令:一个方便的文本查看工具
|
1月前
|
Rust 监控 安全
【专栏】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式
【4月更文挑战第28天】`ripgrep`(rg)是Linux下快速、内存高效的文本搜索工具,用Rust编写,支持PCRE2正则表达式。相比`grep`,它在处理大文件和复杂模式时更具优势。安装`rg`可通过软件包管理器,如在Debian系系统中使用`sudo apt install ripgrep`。基本用法包括简单搜索、递归搜索、忽略大小写、显示行号等。高级功能包括固定字符串搜索、多文件匹配、并行搜索、排除选项和区域搜索。适用于日志分析、代码审查等场景,是提升工作效率的利器。
|
1月前
|
Linux Shell 开发工具
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
【Linux】:文本编辑与输出命令 轻松上手nano、echo和cat
41 0