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

常用 perl 单行命令模式

发布时间:2020-12-15 20:52:08 所属栏目:大数据 来源:网络整理
导读:========= 比配次数计算 (字符重复出现次数)================ @matches = "balata" =~ /.a/g;? # now @matches = ("ba","la","ta") 用数组存下比配到的信息; $count = scalar @matches???????? # now $count = 4;? scalar 取出数据长度,就是比配到的次数;

========= 比配次数计算 (字符重复出现次数)================
@matches = "balata" =~ /.a/g;? # now @matches = ("ba","la","ta") 用数组存下比配到的信息;
$count = scalar @matches???????? # now $count = 4;? scalar 取出数据长度,就是比配到的次数;

========= 单行命令模式下,找出信息出现的次数;============
ps -ef | perl -0ne 'print s/a//gi."/n"'???? # 参数-0 零,表示把所有行都看成一行; /g全比配,i忽略大小写

========= 单行命令模式 只打指定列? ============
echo 'hello:the:world:!:i:love:you:!' | perl -F: -lane 'print "@F[0..1]?? $F[-1]"'
# -F: 指定分隔符为:
# @F[0..1] 表示分隔域 0~1
# $F[-1] 特指倒数 第一个 域

========= 单行命令模式 打印指定行? =================
ps -ef | perl -lane 'print if $. == 1..10'?? ?? # $. This means that it's current line

========= 单行命令模式 打印指定行 与 列? =================
ps -ef | perl -lane 'print "@F[0..1]?? $F[-1]" unless ($. == 1..10)'?? # $. This means that it's current line

========= 把每一行都当作 perl 的表达式 如 =================
echo "8*8" | perl -lane 'print eval($_)' # result is? 64

========= 文件按行反转? =================ps -ef | perl -e 'print reverse <>'

(编辑:李大同)

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

    推荐文章
      热点阅读