按文件大小移动文件

按文件大小移动文件

我有一些介绍性练习要做,作为家庭作业,我必须做一个带有两个参数的小脚本,第一个参数是一个目录,第二个参数是一个数字。

功能是将目录中的文件分类到 2 个子目录中。第一个子目录用于大于第二个参数的文件,第二个子目录用于较小的文件。

我的想法是从 ls -l 获取 5 美元,但我认为这不是一个好主意,有人可以给我任何建议吗?谢谢。

答案1

正如你所说,不解析 ls 输出

您可以在循环stat -c '%s' file中使用(字节)检查文件大小for。作为首发:

#!/bin/bash

cd "$1"

for file in *; do
    # code/tests here on each "$file"
done

然后你可以使用bash算术对文件大小做一些条件。

自行测试以实现此功能,如果您对代码有疑问,请随时编辑(和/或评论)您的帖子


另一个解决方案(来自评论),使用-size如果您记得您的老师谈到过这个工具,请使用开关,例如:

find "$1" -size +100

查看

man find | less +/-size

相关内容