我想弄清楚如何按名称和大小对文件列表进行排序。
如何使用“du -a”按文件名和大小排序而不显示目录?
使用“du -a”
1 ./locatedFiles
0 ./testDir/j.smith.c
0 ./testDir/j.smith
1 ./testDir/sampleFunc/arrays
2 ./testDir/sampleFunc
0 ./testDir/j.smith.txt
0 ./testDir/testing
0 ./testDir/test2
0 ./testDir/test3
0 ./testDir/test1
0 ./testDir/first/j.smith
0 ./testDir/first/test
1 ./testDir/first
1 ./testDir/second
1 ./testDir/third
6 ./testDir
如何列出没有目录的所有文件,添加文件大小,并先按文件名排序,然后按大小排序?
谢谢你的帮助
最佳答案
你可以使用这个:
find -type f -printf "%f %s %p\n"|sort
解释:
- -键入 f 仅查找文件
- -printf 以特定格式打印输出:
- %f 打印文件名
- %s 打印文件大小
- %p 打印整个文件名(即带前导文件夹)- 如果需要可以省略此部分
然后运行按上面给出的顺序排序的排序(即文件名,然后是文件大小,然后是文件路径)。输出将是这样的(显示的部分输出):
...
XKBstr.h 18278 ./extensions/XKBstr.h
XlibConf.h 1567 ./XlibConf.h
Xlib.h 99600 ./Xlib.h
Xlibint.h 38897 ./Xlibint.h
Xlocale.h 1643 ./Xlocale.h
xlogo11 219 ./bitmaps/xlogo11
....
希望对你有帮助
关于Bash - 按名称和大小列出和排序文件及其大小,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9755068/