我有一些介绍性练习要做,作为家庭作业,我必须做一个带有两个参数的小脚本,第一个参数是一个目录,第二个参数是一个数字。
功能是将目录中的文件分类到 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