学好perl可以替代记忆许多命令

   某次查看日志时,身边的同事用awk格式化,觉得十分羡慕。之前自学一点perl,想试试perl能否替代awk。结果看了perl的一行程序,发现perl真心十分强大。别说替代awk,grep,其它许多系统命令perl都能很简洁的写出来。


awk:

perl -lane 'print "@F[1..3]";'  //打印第1~3字段


uniq:

perl -lne 'print unless $last eq $_;$last=$_'

 
uniq -c:
   这个稍微麻烦些,因为eval的代码在while()中。而最终统计必须等到读完文件才行,不过用perl照样不是问题,2句搞定.

perl -le 's/(\w)+/$wc{$1}++;$1/eg foreach (<>);print "$wc{$_} $_" foreach keys %wc;'

head:

perl -pe 'exit if $.<50'

sort:

perl -le 'print sort (<>)'

yes(好吧我无聊了)

perl -le 'print @ARGV>0?@ARGV[0]:"y" while 1'

 


  perl太灵活了。有时感觉它的语法好像充斥着magic一样。
  比如它的map,比如它神奇的切片赋值。(左substr竟然可以当splice用,怎么实现的?)


  真是perl在手,文本处理不愁啊。不用学awk,sed了。有perl足以,哈哈。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值