在日常工作中会遇到需要筛选过滤要查看的日志等文本文件的任务,例如需要查看日志文件的最后几行等。下面总结一下常见的对文本行过滤的方法。一起去看看吧!
常用命令行工具
接下来主要使用的是head,tail,sed和awk,这几个工具。其中sed和awk工具非常强大,使用它们来进行文本的过滤可能有点大材小用,不过基本上所有的任务都可以通过head和tail两个命令来完成,而且head和tail日常使用更加方便。
用法示例
准备工作
输入下面命令,生成一个测试用的文件。
$ seq -f "Line No %g" 10 lines.txt
只显示文本的前3行
可以通过head命令来完成,具体命令和输出如下:
$ head -n 3 lines.txt
Line No 1
Line No 2
Line No 3
或者通过sed命令来完成,具体命令和输出如下:
$ sed -n '1,3p' lines.txt
Line No 1
Line No 2
Line No 3
awk命令也可以完成
$ awk 'NR=3' lines.txt
Line No 1
Line No 2
Line No 3
只显示文本的最后3行
使用tail命令来完成,具体命令和输出如下:
$ tail -n 3 lines.txt
Line No 8
Line No 9
Line No 10
只显示文本的第5行到最后1行
使用tail命令来完成的方法:
$ tail -n +5 lines.txt
Line No 5
Line No 6
Line No 7
Line No 8
Line No 9
Line No 10
sed命令来完成:
$ sed -n '5,$p' lines.txt
Line No 5
--略--
Line No 10
用awk来完成:
$ awk 'NR=5' lines.txt
Line No 5
--略--
Line No 10
只显示文本的倒数第3行到第1行
用head来完成:
$ head -n -2 lines.txt
Line No 1
Line No 2
Line No 3
Line No 4
Line No 5
Line No 6
Line No 7
Line No 8
只显示文本的第6行到第8行
用head和tail两个工具:
$ lines.txt head -n 8 | tail -n 3
Line No 6
Line No 7
Line No 8
sed的方法:
$ sed -n '6,8p' lines.txt
Line No 6
Line No 7
Line No 8
awk的方法:
$ awk '(NR=6)&&(NR=8)' lines.txt
Line No 6
Line No 7
Line No 8
只显示文本奇数行或偶数行
sed命令生成奇数行
$ sed -n '1~2p' lines.txt
Line No 1
Line No 3
Line No 5
Line No 7
Line No 9
sed命令生成偶数行
$ sed -n '0~2p' lines.txt
Line No 2
Line No 4
Line No 6
Line No 8
Line No 10
awk命令生成奇数行
$ awk 'NR%2' lines.txt
Line No 1
Line No 3
Line No 5
Line No 7
Line No 9
awk命令生成偶数行
$ awk '(NR+1)%2' lines.txt
Line No 2
Line No 4
Line No 6
Line No 8
Line No 10
小结
linux系统的一个有名的特点是绝大多少文件都是文本文件,这些文件都可以通过上面的方法来查看特定的行。另外linux命令行工具也非常灵活,完成一件任务,不是只有一种方法,有很多方法可以实现,这也是linux好玩的地方。在文本过滤方面,sed和awk命令还有很多强大的用法,大家有兴趣的话可以深入研究一下。
Linux Mint 20.2“Uma”中的新
EasyWSL工具将 Linux Docker 映
适用于 Linux 5.16 的新 Zst
适用于Linux的Windows子系统
Linux系统xlsatom命令如何使
wps在手机上怎么新建文档
首先,打开手机WPS进入,点击界面上方的“+”号 。在弹出来的......
阅读
高能手办团进击的欧尼酱怎么过?
高能手办团进击的欧尼酱怎么过进击的欧尼酱通关阵容怎么搭配......
阅读
抖音监护人怎么取消
1、打开抖音APP,点击右下角的我,点击三横图标。2、点击青少......
阅读
boss直聘怎么关闭消息通知-boss直聘关闭消
相信很多的用户在使用boss直聘的时候,都不是很熟悉boss直聘怎......
阅读
InDesign怎么插入全角空格-InDesign插入全角
我们在使用InDesign编辑文档时,经常会需要插入全角空格,那么......
阅读
抖音世界名画一日游操作
英特尔针对新 Spectre V2 漏
手机QQ怎么关掉群成员探查
win11文件夹图标显示缩略图
Windows Insiders在Beta和Relea
Windows10版本1909的KB5001337更
淘宝人生成就点数赚取方
Win 10秋季创意者更新版致
《木筏求生》果汁食谱有
Switch名为战斗的机器人金
宝可梦传说阿尔宙斯地图
讯景显卡怎么关闭风扇节
电竞叛客显卡是丐版吗
网页内容显示不全怎么办
蓝牙设备无法连接的原因
wps文档搜索关键词的教
Excel表格快速获得当前系统
magic4pro对比magic3pro详情
win10命令行窗口打开教程
WiFi连上了却上不了网怎么
路由器有线桥接怎么设置
最近一些朋友问小编Linux如何修改RPM的安装目录?今天小编为大家带来的是Linux修改RPM的安装目录的方法,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
最近一些Linux用户发现很多日志文件都是空文件,如何过滤呢?今天小编就为大家带来Linux过滤空文件的命令总结,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
WindowsSubsystem for Linux(WSL)2对Windows10版本1903和1909的支持 根据客户的反馈,微软将把WindowsSubsystem for Linux(WSL)2支持带到Windows10版本1903和Windows1...
次阅读
下面小编为大家带来的是利用linux命令行工具进行文本行过滤的方法,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
在Linux系统中有很多命令,xlsatoms命令可以用来定义搜索文件的范围和成分。今天小编将为大家分享的是Linux系统xlsatom命令的使用说明,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
今天小编将为大家分享的是Linux中遇到device is busy的处理方法。希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
今天小编要为大家带来的是Linux使用文本浏览器lynx并显示中文的方法!希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
最近有些朋友问小编如何用Windows通过网络安装RedHat Linux?今天小编为大家带来的是用Windows通过网络安装RedHat Linux的方法,有需要的朋友一起去看看吧...
次阅读
今天小编为大家带来的是Linux中RedHat CentOS Ubuntu Fedora的区别详解,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
今天小编要为大家带来的是Linux用root账号创建一个新的登录账号的方法,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
今天小编为大家带来的是Linux下源码安装的经验详解。希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
今天小编将为大家带来的是Linux下增大可打开文件描述符的最大数的方法,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
最近有些朋友问小编 Linux菱形乱码如何修改? 今天小编将为大家分享的是Linux菱形乱码的修改方法,希望对大家会有帮助,有需要的朋友可以参考下...
次阅读
今天小编为大家带来的是linux下卸载vmware产品的方法,希望对大家会有帮助,有需要的朋友一起去看看吧...
次阅读
适用于Linux的Windows子系统(WSL)现在可从win11上的Microsoft Store作为应用程序使用 微软今天宣布正式推出适用于Linux的Windows子系统(WSL)作为适用于Windows11PC...
次阅读