例如我有命令显示文件夹需要多少空间
du folder | sort -n
Run Code Online (Sandbox Code Playgroud)
它工作得很好,但是我想要人类可读的形式
du -h folder
Run Code Online (Sandbox Code Playgroud)
但是,如果我这样做,则无法将其排序为数字。
如何加入du folder并du -h folder查看排序为 的输出du folder,但第一列来自du -h folder
PS这只是一个例子。这项技术可能对我非常有用(如果可能的话)
All*_*lu2 41
尝试类似:
du -h folder | sort -h
Run Code Online (Sandbox Code Playgroud)
备择方案: -n用于数字排序
注意:-h排序选项仅存在于较新版本的 Ubuntu 中。
Pra*_*eek 13
这是一个更通用的方法。获取两个不同文件中的du folder和的输出du -h folder。
du folder > file1
du -h folder > file2
Run Code Online (Sandbox Code Playgroud)
关键部分是:使用合适的分隔符逐行连接file1和连接file2。
paste -d '#' file1 file2 > file3
Run Code Online (Sandbox Code Playgroud)
(假设#没有出现在file1和 中file2)
现在排序file3。请注意,这将根据file1内容进行排序并按内容打破联系file2。使用cut以下方法提取相关结果:
sort -n -k1,7 file3 | cut -d '#' -f 2
Run Code Online (Sandbox Code Playgroud)
另请查看man sort其他选项。
您也可以将其保存为别名,以备后用。为此,请将以下内容添加到 的底部~/.bashrc:
sorted-du () {
paste -d '#' <( du "$1" ) <( du -h "$1" ) | sort -n -k1,7 | cut -d '#' -f 2
}
Run Code Online (Sandbox Code Playgroud)
然后,打开一个新的终端会话并执行您的新别名:
sorted-du /home
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
17246 次 |
| 最近记录: |