python学习站 /shell编程
阅读主题
正文字体
字体大小

09.shell判断文件

本节20字2025-03-13 18:40:39
# 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


网友评论

相关作品