zoukankan      html  css  js  c++  java
  • du -sh

    本文来自依云's Blog,转载请注明。

    du命令的输出结果要么是不人性化的全部以千字节为单位,要么加上-h参数,显示为1K 234M 2G这样易读的数据。可是,我通常想查看那些大文件/目录,或者那些小文件/目录。单单只用sort命令的话,就不得不在脑海转换那些千字节单位的数据了。做为一个Linux用户,电脑能做的我可不想让人脑来做。Google了一下,发现这个帖子提供了一段代码可行,但是输出效果并不理想,于是我略作更改,写出了以下代码:

     
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    14
    15
    16
    17
    18
    sdu () {
      du -sk $@ | sort -n | awk '
    BEGIN {
      split("K,M,G,T", Units, ",");
      FS=" ";
      OFS=" ";
    }
    {
      u = 1;
      while ($1 >= 1024) {
        $1 = $1 / 1024;
        u += 1
      }
      $1 = sprintf("%.1f%s", $1, Units[u]);
      sub(/.0/, "", $1);
      print $0;
    }'
    }

    这段代码使用sort排序原始数据后,再使用awk来转换数字的单位。使用方法为sdu后加要查看大小的文件/目录就可以了。注意我在代码中加了-s参数,如果希望同时查询子目录的话,需要去掉这个参数。

    du -s * | sort -k 1 -g | awk '{print $2}' | xargs du -sh {}

    sort --help 可是有 
    -h, --human-numeric-sort 使用易读性数字(例如: 2K 1G) 
    参数的,

    于是可以直接 du -h | sort -h

  • 相关阅读:
    C#重载操作符的那点事
    Winform最小化托盘
    C#多线程传参
    GridView事件大全
    测试2
    测试
    FindFileByContent
    JavaScriptCallCSharp js调用C#属性与方法
    GroupBy
    查询指定属性的文件
  • 原文地址:https://www.cnblogs.com/hit-zb/p/9228243.html
Copyright © 2011-2022 走看看