linux中sed和awk有哪些区别


这篇文章主要讲解了“linux中sed和awk有哪些区别”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“linux中sed和awk有哪些区别”吧! 区别:1、sed是流编辑器,而awk是文本格式化工具,报告生成器;2、awk适合对文件进行抽取整理,sed适合对文件进行编辑;3、sed读取一行数据,会以行作为单位进行处理,而awk读取一行,会切割成字段,以字段(列)为单位,进行细节处理。本教程操作环境:CentOS 6系统、Dell G3电脑。
awk是一种程序语言,对文档资免费云主机域名料的处理具有很强的功能。awk擅长从格式化报文或从一个大的文本文件中抽取数据。awk 命令是逐行扫描文件(从第 1 行到最后一行),寻找含有目标文本的行,如果匹配成功,则会在该行上执行用户想要的操作;反之,则不对行做任何处理。awk 命令的基本格式为:此命令常用的选项以及各自的含义,如表 1 所示。awk 的强大之处在于脚本命令,它由 2 部分组成,分别为匹配规则和执行命令,如下所示:这里的匹配规则,和 sed 命令中的 address 部分作用相同,用来指定脚本命令可以作用到文本内容中的具体行,可以使用字符串(比如 /demo/,表示查看含有 demo 字符串的行)或者正则表达式指定。另外需要注意的是,整个脚本命令是用单引号(”)括起,而其中的执行命令部分需要用大括号({})括起来。在 awk 程序执行时,如果没有指定执行命令,则默认会把匹配的行输出;如果不指定匹配规则,则默认匹配文本中所有的行。举个简单的例子:在此命令中,/^$/ 是一个正则表达式,功能是匹配文本中的空白行,同时可以看到,执行命令使用的是 print 命令,此命令经常会使用,它的作用很简单,就是将指定的文本进行输出。因此,整个命令的功能是,如果 test.txt 有 N 个空白行,那么执行此命令会输出 N 个 Blank line。sed 命令采用的是流编辑模式,最明显的特点是,在 sed 处理数据之前,需要预先提供一组规则,sed 会按照此规则来编辑数据。sed 会根据脚本命令来处理文本文件中的数据,这些命令要么从命令行中输入,要么存储在一个文本文件中,此命令执行数据的顺序如下:每次仅读取一行内容;根据提供的规则命令匹配并修改数据。注意,sed 默认不会直接修改源文件数据,而是会将数据复制到缓冲区中,修改也仅限于缓冲区中的数据;将执行结果输出。当一行数据匹配完成后,它会继续读取下一行数据,并重复这个过程,直到将文件中所有数据处理完毕。sed 命令的基本格式如下:该命令常用的选项及含义,如表 1 所示。成功使用 sed 命令的关键在于掌握各式各样的脚本命令及格式,它能帮你定制编辑文件的规则。sed是流编辑器,而awk是文本格式化工具,报告生成器
如果文件是格式化的,即由分隔符分为多个域的,优先使用awkawk适合对文件的抽取整理,sed适合对文件的编辑。awk适合按列(域)操作,sed适合按行操作sed:每次读入一行来处理的,sed 适合简单的文本替换和搜索,sed读取一行,以行作为单位,进行处理。awk:每次读入一行来处理的(同sed),但awk读取一行,切割成字段,以字段(列)为单位,进行细节处理。感谢各位的阅读,以上就是“linux中sed和awk有哪些区别”的内容了,经过本文的学习后,相信大家对linux中sed和awk有哪些区别这一问题有了更深刻的体会,具体使用情况还需要大家实践验证。这里是开发云,小编将为大家推送更多相关知识点的文章,欢迎关注!

相关推荐: linux与rtos有哪些区别

这篇“linux与rtos有哪些区别”文章的知识点大部分人都不太理解,所以小编给大家总结了以下内容,内容详细,步骤清晰,具有一定的借鉴价值,希望大家阅读完这篇文章能有所收获,下面我们一起来看看这篇“linux与rtos有哪些区别”文章吧。 linux与rtos…

免责声明:本站发布的图片视频文字,以转载和分享为主,文章观点不代表本站立场,本站不承担相关法律责任;如果涉及侵权请联系邮箱:360163164@qq.com举报,并提供相关证据,经查实将立刻删除涉嫌侵权内容。

(0)
打赏 微信扫一扫 微信扫一扫
上一篇 12/27 15:45
下一篇 12/27 15:45