环境: Ubuntu下采用shell脚本实现
案例简述: 文件夹内有许多子文件夹,这里需要自动读取所有的文件,包括他们的地址和文件名。通过观察文件名的规律,按照一定的规则裁剪出文件名的某一部分,该部分为数字,则根据数字的大小统计该文件夹内文件在各个数据段的数量。
1.这里写一个函数,实现对文件夹内所有文件名的读取,采用的方法是递归!
#!/bin/bash
#folder="./test"
function readfile ()
{
#这里`为esc下面的按键符号
for file in `ls $1`
do
#这里的-d表示是一个directory,即目录/子文件夹
if [ -d $1"/"$file ]
then
#如果子文件夹则递归
readfile $1"/"$file
else
#否则就能够读取该文件的地址
echo $1"/"$file
#读取该文件的文件名,basename是提取文件名的关键字
echo `basename $file`
fi
done
}
#函数定义结束,这里用来运行函数
folder="./test"
readfile $folder
2.这里实验了初始化变量和变量赋值
#!/bin/bash
a=

本文介绍了在Ubuntu环境下,如何使用Shell脚本递归遍历文件夹内的所有文件,获取文件地址和名称,并根据文件名规律提取数字部分进行统计。通过编写函数,实现了文件名的读取和处理。执行脚本时需注意权限设置,通过`chmod +x 1.sh`使其可执行,然后使用`./1.sh`执行。
最低0.47元/天 解锁文章
3879

被折叠的 条评论
为什么被折叠?



