#!/bin/bash
echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"
read location
echo $location
filecount=$( find $location –type f –name "*.txt" -size -4K)
echo $filecount
答案1
echo " Enter the name of your directory. You should enter the absolute path to the directory if it is not found in the current directory!"
-- 打印文本read location
- 期望您输入一些文本并存储在变量中$location
echo $location
- 打印变量$location
filecount=$(...)
- 将命令的输出存储在变量中$filecount
find $location –type f –name "*.txt" -size -4K
- 在文件夹中搜索名称以“.txt”结尾且大小的$location
文件(注意:脚本有错误,应该是,小写)type f
-name "*.txt"
-size 4
-size 4k
k
echo $filecount
- 打印结果
TL;DR 要求您提供文件夹路径,查找长度为 4 KB 的文件。并打印它们
从变量的名称来看filecount
,作者可能想要获取多个文件,所以命令应该更新为:
filecount=$(find $location –type f –name "*.txt" -size 4k | wc -l)
那么,我通过了测试吗?
答案2
上面提到的脚本用于查找大小小于 4 KB 且文件名后缀为 的文件的路径名.txt
。
它不会处理$location
包含空格等的值,因为变量扩展未加引号。此外,它将路径名存储为单个字符串,如果任何路径名包含空格或换行符等,这将使得对它们进行计数变得困难。
也可以看看: