# 1. 判断是否是文件或者文件夹
:<<EOF
1)判断是否是文件
[ -f 路径 ] - 判断指定路径的内容是否是文件
2)判断是否是文件夹
[ -d 路径 ] - 判断指定路径的内容是否是文件夹
EOF
path=/root/code/a.txt
if [ -f $path ]
then
echo 是文件
fi
if [ -d $path ]
then
echo 是文件夹
fi
echo --------------------------------
path=/root/code111
if [ -d $path ]
then
echo 文件夹存在
else
echo 文件夹不存在
fi
echo ---------------------------------
# 2. 练习:
#${字符串:索引}
# 需要整理的文件夹路径
path=/root/code/files
# 进入指定文件夹
cd $path
# 遍历获取文件夹内容的所有的名字
for name in `ls`
do
# 如果是文件夹就直接进入下次循环
if [ -d "./${name}" ]
then
continue
fi
# 处理文件-获取文件的后缀
index=`expr ${#name} - 1`
while [ $index -ge 0 ]
do
if [ ${name:${index}:1} = "." ]
then
break
fi
index=`expr $index - 1`
done
# 通过判断index的值是否是-1来判断文件是否有后缀
echo "${name}: ${index}"
if [ $index -eq -1 ]
then
# 处理没有后缀的文件
if [ -d "./other" ]
then
mv "./${name}" ./other
else
mkdir other
mv "./${name}" ./other
fi
else
# 处理有后缀的文件
index=`expr $index + 1`
suffix=${name:$index}
if [ -d "./${suffix}" ]
then
mv "./${name}" "./${suffix}"
else
mkdir $suffix
mv "./${name}" "./${suffix}"
fi
fi
done09.shell判断文件
本节20字2025-03-13 18:40:39