• linkedu视频
  • 平面设计
  • 电脑入门
  • 操作系统
  • 办公应用
  • 电脑硬件
  • 动画设计
  • 3D设计
  • 网页设计
  • CAD设计
  • 影音处理
  • 数据库
  • 程序设计
  • 认证考试
  • 信息管理
  • 信息安全
菜单
linkedu.com
  • 网页制作
  • 数据库
  • 程序设计
  • 操作系统
  • CMS教程
  • 游戏攻略
  • 脚本语言
  • 平面设计
  • 软件教程
  • 网络安全
  • 电脑知识
  • 服务器
  • 视频教程
  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统
您的位置:首页 > 操作系统 >LINUX > 利用linux命令行工具进行文本行过滤的方法

利用linux命令行工具进行文本行过滤的方法

作者:佚名 字体:[增加 减小] 来源:互联网 时间:2017-05-12

佚名 通过本文向大家介绍了linux创建文本命令,linux文本编辑命令,linux打开文本命令,linux查看文本命令,linux文本编辑器命令等相关知识,希望对您有所帮助,也希望大家多多支持linkedu.com

在日常工作中会遇到需要筛选过滤要查看的日志等文本文件的任务,例如需要查看日志文件的最后几行等。下面总结一下常见的对文本行过滤的方法。一起去看看吧!

常用命令行工具

接下来主要使用的是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命令还有很多强大的用法,大家有兴趣的话可以深入研究一下。

</div>
分享到:QQ空间新浪微博腾讯微博微信百度贴吧QQ好友复制网址打印

您可能想查找下面的文章:

  • 利用linux命令行工具进行文本行过滤的方法
  • Linux的命令行中一些文本操作技巧的实例分享

相关文章

  • 2017-05-12运维老鸟谈生产场景对linux系统进行分区的方法
  • 2017-05-12 linux命令行下进入带空格的文件夹的方法
  • 2017-05-12linux/aix怎么用命令查看某个目录下子目录占用空间的大小?
  • 2017-05-12在Linux系统下使用Docker以及Weave搭建Nginx反向代理
  • 2017-05-12详解Linux中的cat文本输出命令用法
  • 2017-05-12Linux系统下CVS的账号控制操作简介
  • 2017-05-12Linux下打开Emacs出现乱码的解决方法
  • 2017-05-12Linux命令提示符如何按照自己的习惯修改?
  • 2017-05-12在Linux和Unix中使用chmod命令改变文件权限的用法
  • 2017-05-12简单讲解Linux的文件系统及相关的挂载命令

文章分类

  • bios
  • 系统安装
  • 系统进程
  • Windows
  • LINUX
  • RedHat/Centos
  • Ubuntu/Debian
  • Fedora
  • Solaris
  • 麒麟系统
  • 红旗Linux
  • 苹果MAC
  • 注册表
  • 其它系统

最近更新的内容

    • linux查看隐藏的文件,如.env
    • Linux系统下pv命令的一些使用技巧小结
    • Linux系统下安装Bugzilla来追踪程序开发中的bug
    • Linux下man帮助命令使用全解析
    • Linux系统中安装和使用Axel下载工具的教程
    • Linux与grub下如何查看各分区设备名称?
    • 详解Linux中的日志及用日志来排查错误的方法
    • Linux主流架构运维工作简单剖析讲解
    • 在Linux中安装配置Postfix来搭建邮件发送服务
    • Linux系统基本的网络端口操作命令小结

关于我们 - 联系我们 - 免责声明 - 网站地图

©2020-2025 All Rights Reserved. linkedu.com 版权所有