Linux中利用awk命令计算文件的大小(上) (linux awk-f)
整理分享Linux中利用awk命令计算文件的大小(上) (linux awk-f),希望有所帮助,仅作参考,欢迎阅读内容。
内容相关其他词:linux的awk命令大全,linux awk-f,linux教程:awk命令的用法,linux中awk怎么用,linux awk-f,linux awk命令详解,linux中awk怎么用,linux中awk怎么用,内容如对您有帮助,希望把内容链接给更多的朋友!
有时你可能想知道某个目录下文件的大小,此时自然会想到带有-l选项的ls命令。但是,这个命令除了文件名和文件大小之外,还要显示其他很多信息。因此,可以将这个ls命令的结果通过管道送给awk命令作进一步的处理。运用组合命令显示/boot目录中每一个文件的文件名和大小:goddog@ubuntu:~$ls-lF/boot|awk'{print$9""$5}'abi-4..0--genericconfig-4..0--generic…… 看上去有些凌乱啊。为了使awk命令的显示结果更清晰,在awk命令中引入了以下两个可以在print命令表达式中运用的特殊的字符序列:\n:产生一个回车*作\t:产生一个制表键 利用\t重新修改一下上面的例子,这次是文件大小在前,文件名随后,文件大小和文件名由制表键隔开:goddog@ubuntu:~$ls-lF/boot|awk'{print$5"\t"$9}'abi-4..0--genericconfig-4..0--generic…… 上述的显示结果是没有顺序的,如果你想了解文件磁盘空间的运用情况,最关心的就是大文件,因为只有大文件才对*的冲击比较大。假设你现在想知道最大的3个文件的大小并且显示的结果是按文件由大到小的顺序列出。命令如下:其中sort命令中的-r表示由大到小排序,-n表示按数字排序:goddog@ubuntu:~$ls-lF/boot|awk'{print$5"\t"$9}'|sort-rn|head-initrd.img-4..0--genericvmlinuz-4..0--genericSystem.map-4..0--generic 如果想知道/boot中所有文件大小的总和,可以在awk命令中加入带有变量和加法的表达式,命令如下:其中,totalsize是自定义的一个储存文件大小总和的变量。awk命令中的命令表达式totalsize=totalsize+$5也可以缩写成totalsize+=$5goddog@ubuntu:~$ls-lF/boot|awk'{totalsize=totalsize+$5;printtotalsize}'…… 结果除了显示最后一行的所有文件大小的总和之外,还显示了太多不重要的信息,为此,将这个命令的结果通过管道送给tail-1命令:goddog@ubuntu:~$ls-lF/boot|awk'{totalsize+=$5;printtotalsize}'|tail- 还有一种更好的方式是在awk命令中运用END关键字,命令如下:goddog@ubuntu:~$ls-lF/boot|awk'{totalsize+=$5}END{printtotalsize}'标签: linux awk-f
本文链接地址:https://www.iopcc.com/jiadian/46593.html转载请保留说明!