【发布时间】:2017-03-18 14:21:19
【问题描述】:
我需要编写一个脚本来查找给定目录(包括其子目录)中的最大文件。
我发现如果我使用“树”来生成所有文件的文本表示,也许我可以让脚本比较大小并输出最大的。
我最终得到了一个看起来像这样的文本文件
.
[ 939] "./Documents/Alfa/driver/wlan0up"
[ 234] "./Documents/Alfa/driver/wpa1.conf"
[ 1623520] "./Documents/Alfa/driver/wpa_supplicant-0.5.5.zip"
[ 5488640] "./Documents/Alfa/R36-V1.2.1.2b6.img"
[ 3385] "./Documents/C code/Ide.s"
[ 4096] "./Documents/fluxion-master"
[ 25] "./Documents/fluxion-master/_config.yml"
[ 4096] "./Documents/fluxion-master/docs"
[ 35141] "./Documents/fluxion-master/docs/LICENSE"
[ 83788] "./Documents/fluxion-master/fluxion"
~~ long list of other files
[ 6909] "./.ZAP/session/untitled2.script"
[ 64411] "./.ZAP/zap.log"
[ 4096] "./.zenmap"
[ 0] "./.zenmap/recent_scans.txt"
[ 2018] "./.zenmap/scan_profile.usp"
[ 85] "./.zenmap/target_list.txt"
[ 1486] "./.zenmap/zenmap.conf"
[ 409600] "./.zenmap/zenmap.db"
[ 5] "./.zenmap/zenmap_version"
429 directories, 3327 files
现在,我只需要让脚本读取列表并比较大小直到列表结束,然后输出最大文件的名称和大小。
我使用 sed 和 grep 浏览了其他一些 stackoverflow 条目,但没有得到任何运气。
Read a file line by line assigning the value to a variable
Looping through the content of a file in Bash?
请注意,tree 能够将输出格式化为 xml 文件,使用标签和属性,如 <directory name="fileName" size="XXXX"></directory>
所以如果解析xml文件更容易,那也很好。
文件夹也列在其中,但我们可以忽略它。
任何帮助将不胜感激, 谢谢
【问题讨论】:
-
详细说明您的问题:按文件大小或文件中的行数查找最大文件?
-
对不起,我的意思是大小,括号之间的数字以字节为单位。无论如何,解决方案真的很简单。谢谢