移除指定目录的文件

前端之家收集整理的这篇文章主要介绍了移除指定目录的文件前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。

#!/bin/bash

dir1=/root/was1

dir2=/root/was2

#dir1=/wasprofiles/c01-`hostname`/installedApps/cell01

#dir2=/wasprofiles/c02-`hostname`/installedApps/cell02


function del_files

{

i=1

echo "----------------------------------------------------------------------"


arr=($1)

for s in ${arr[@]}

do

echo "$i $s"

i=$[$i + 1]

done

echo "----------------------------------------------------------------------"

echo "Choose files to remove.(Example:1 2 3 or all)"

read rmfiles

while test -z "$rmfiles"

echo "Input is null! Please input again.(Example:1 2 3 or all)"

read rmfiles

if [ "$rmfiles" = "all" ] ; then

for rf in ${arr[@]}

do

[ ! -d /tmp/$2 ] && mkdir /tmp/$2

rmname=`sed 's/\///' <<< "$rf" | sed 's/\//#/g'`

mv $rf /tmp/$2/$rmname

done

else

for rf in $rmfiles

if grep '^[[:digit:]]*$' <<< "$rf" >/dev/null ; then

arf=$[$rf - 1]

if test -z ${arr[$arf]} ; then

echo "Eeror: Input $rf not exist"

else

[ ! -d /tmp/$2 ] && mkdir /tmp/$2

rmname=`sed 's/\///' <<< "${arr[$arf]}" | sed 's/\//#/g'`

mv ${arr[$arf]} /tmp/$2/$rmname

fi

else

echo "Eerror: Input $rf is not number."

fi

done

fi

echo "ls /tmp/$2"

ls -l /tmp/$2

}


echo "Please input was1,was2 or exit."

read line

while test -z "$line" || ([ "$line" != "was1" ] && [ "$line" != "was2" ] && [ "$line" != "exit" ])

do

echo "Input error! Please input was1,'Microsoft YaHei';"> read line

done

echo "----------------------------------------------------------------------"


if [ $line = "was1" ] ; then

echo "Files will be found in $dir1"

echo "Please input filename.(Example: abc 123.txt)"

read filename

while test -z "$filename"

echo "Input is null! Please input again.(Example: abc 123.txt)"

read filename

done


for file in $filename

ffile=`find $dir1 -type f -name $file\*`

if test -z "$ffile" ; then

echo "Info: $file is not found."

else

ffiles="$ffile $ffiles"

fi

if test -z "$ffiles" ; then

echo "Can't find input files."

del_files "$ffiles" was1

elif [ $line = "was2" ] ; then

echo "Files will be found in $dir2"

ffile=`find $dir2 -type f -name $file\*`

echo "Info: All input files not found!"

del_files "$ffiles" was2

elif [ $line = "exit" ] ; then

exit

fi

原文链接:https://www.f2er.com/bash/391120.html

猜你在找的Bash相关文章