`
sd6733531
  • 浏览: 65824 次
  • 性别: Icon_minigender_1
  • 来自: 北京
文章分类
社区版块
存档分类
最新评论

学好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足以,哈哈。

分享到:
评论

相关推荐

Global site tag (gtag.js) - Google Analytics