我想以人类可读的格式、大小和日期戳列出所有文件,包括子目录中的文件,并按大小对其进行排序。目前,我可以使用以下代码来完成此操作:
find /sasdata/ -name "*.sas7bdat" -exec ls -lthS {} + | sort -r -h | awk '{print $3, $4, $5, $6, $7, $8, $9, $10,$11,$12,$13}' >> sasdata_all.txt &它是按大小排序的,而不是按文件夹排序。我想让它对所有文件进行排序,而不管它的路径如何。我该怎么做?
发布于 2020-01-29 01:48:05
下面是什么:
find . -printf '%s %p\n' | sort -h -r | head在我的例子中,它输出:
120050424 ./go1.13.linux-amd64.tar.gz
25831312 ./Projects/Practica_SDL/include/Game.h.gch
25040336 ./Projects/Practica_SDL/include/Letter.h.gch
24216593 ./go/pkg/tool/linux_amd64/compile
16867656 ./journey-linux-amd64/journey
15075523 ./go/bin/go
14821094 ./go/pkg/tool/linux_amd64/pprof文件大小以字节为单位。
https://stackoverflow.com/questions/59930070
复制相似问题