打印小于指定文件大小的文件列表

JVA*_*VAN 3 command-line ls scripting search files

我正在尝试创建一个脚本,可以执行该脚本来搜索文件列表,将文件大小字段与指定的文件大小进行比较,然后显示小于指定文件大小的文件。

我知道我必须使用“ls -l”才能获得详细的文件列表。但是,如何搜索列表并提取文件?

hee*_*ayl 8

你的方法很笨拙(而且可以说错了)。有用于此类任务的专用工具,find就是其中之一。

例如,要查找当前目录中小于 1 MiB(1048576 字节)的所有文件,递归:

find . -type f -size -1048576c
Run Code Online (Sandbox Code Playgroud)

或者使用提供这种基于大小的全局限定符的外壳,例如zsh,递归:

print -rl -- **/*(.L-1048576)
Run Code Online (Sandbox Code Playgroud)

在这里,与find上面相反,没有隐藏文件。添加Dglob 限定符以包含它们。