• 单行bash、shell、perl命令


    • 主题:单行经典bash、shell、perl命令
    • 作者:luomg
    • 摘要:

    会陆陆续的写自己工作中的常用有意思的命令,争取你能看完后就能搞定常见操作,
    且尽量自少提供基本shell、perl的实现方式
    有的写在一行或许略显牵强,但是为了方便还是写在一行
    命令开始..........

    • 001查看当前目录最大的10个
    du  -mg .|sort  -k1nr|head   -n 10                            #AIX
    du  ./ --max-depth=1   --block-size=1G|sort  -k1nr|head -10   #Linux
    
    • 002打印标签关键字之间的内容
    awk  '/CREATE.*/,/)/' run.log                                 #awk
    perl  -ne  'print if/CREATE.*/../)/' run.log                  #perl
    
    • 003打印标签关键字之外的内容
    perl  -ne  'print unless/CREATE.*/../)/' run.log              #perl
    
    • 004打印指定范围的行
    awk '10<=NR && NR<=20{print NR,$0}'  20150619.log              #awk
    perl -ne  'print if($.>3 && $. <10)' cmd.sh                    #perl
    
    • 005统计日志中访问次数最多的IP,并按逆序排序
    perl -ne '{$user{$&}++ if/(?:[0-9]{1,3}.){3}[0-9]{1,3}/}END{foreach $key (sort {$user{$b} <=> $user{$a} } keys %user){print "ip=$key,count=$user{$key}
    ";}}' bomc.log              #perl
    

    结果
    ip=135.10.21.250,count=28824
    ip=135.10.21.136,count=26543
    ip=135.10.21.214,count=21342
    ip=135.10.21.248,count=3470
    ip=135.10.21.176,count=15
    ip=135.10.29.236,count=11

    • 006统计日志文件大于1G的文件,并降序排列
    find  ./ -name "*.log"   -exec  du  -sm {}  ;|awk  '$1>1024{$1=$1/1024;print}'|sort  -k1nr
    find  ./ -name "*.log"   -exec  du  -sk {}  ;|awk  '$1>1048576{$1=$1/1048576;print}'|sort  -k1nr  #AIX LINUX SUNOS通用
    

    2015年11月2日 14:01:18 更新日志文件大小查看
    2015年9月21日 23:34:06 更新至此,待继续。。。

  • 相关阅读:
    LNMP笔记:解决mail函数不能发送邮件
    OPENCART记录账户密码
    Nginx 0.8.5版本access.log日志分析shell命令
    几个查询信息的api接口
    chart 图表无法在显示
    RegularExpressionValidator
    用户 'WANGYACONG\ASPNET' 登录失败
    'IIS APPPOOL\ASP.NET V4.0' 登录失败
    正则表达式(转载)
    不小心删除了默认数据库的恢复方法
  • 原文地址:https://www.cnblogs.com/luomgf/p/4827464.html
Copyright © 2020-2023  润新知