# 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 done
09.shell判断文件
本节20字2025-03-13 18:40:39