加入收藏 | 设为首页 | 会员中心 | 我要投稿 李大同 (https://www.lidatong.com.cn/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 大数据 > 正文

序言:我为什么学Perl

发布时间:2020-12-15 23:38:02 所属栏目:大数据 来源:网络整理
导读:曾经,我熟练操作grep、awk、sed,甚至自认对sed尚算精通,我一度爱上了写脚本。但是随着写脚本的次数多了,需求复杂了,我深深的感受到shell的无奈。 例如,我多次遇到过类似下面这种恶心的需求: sed ... | awk ... 其中sed要操作第2到第5行,同时awk要操

曾经,我熟练操作grep、awk、sed,甚至自认对sed尚算精通,我一度爱上了写脚本。但是随着写脚本的次数多了,需求复杂了,我深深的感受到shell的无奈。

例如,我多次遇到过类似下面这种恶心的需求:

sed ... | awk ...

其中sed要操作第2到第5行,同时awk要操作中间的第3行,在awk操作第3行的时候,sed的第2行不能丢弃。

对于shell来说这基本上是不可能实现的,因为它通过管道在各命令之间传递数据,这使得管道前面的数据必须传递给管道后面,而数据一被管道传递就从管道左边程序的缓存中消失了,也就是不可重用了。

于是我学了Perl,在这之前我也学了python,但是学过Perl之后,在我觉得shell难以实现的时候,我的第一想法几乎总是使用Perl去实现脚本,而不是用python。

本文我要分享的是一行式Perl程序,它完全可以替代grep+sed+awk,且功能还更强大。文章篇幅稍大,可算是一本较薄的书,但除了专门的perl正则表达式之外(如果没有学过编程语言的正则的话。我也写过一篇非常详细又0基础友好的Perl正则,如有需求,可参见Perl正则表达式超详细教程),其它的都绝对基础,我解释的也足够简单,只要认真看,它真的比awk更简单。按照我现在的感受,我花上几天时间去深入掌握awk,真不如去学Perl一行式。

Perl一行式系列文章:Perl一行式程序

如果觉得文章不错,请帮忙点下右下角的赞。感谢!!!

(编辑:李大同)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!

    推荐文章
      热点阅读