User:Msuursal
From ICO wiki
#!/bin/bash
#autor: Meelis Suursalu
#Versioon: 0.1
#Skript küsib kasutaja käest faili laiendi mida otsib arvutist ning võimaldab leitud faile kustutada.
while [ true ];
do
#Küsime faililaiendi.
echo "Sisestage otsitavate failide faililaiend kujul .faililaiend (Näide:.txt)"
read LAIEND
#Kontrollime kas tegemist on faililaiendiga.
if [ ${LAIEND:0:1} == "." ]; then
break
elif [ $LAIEND == "q" ]; then
exit 1
fi
echo "Sisestasite valesti faililaiendi"
done
#Deklareerin massiivi muutuja
declare -a tulemused
let count=0
#Otsime vastavat faililaiendit, paneme need massiivi ja kuvame
for s in $(find / -name "*$LAIEND"); do #otsime faililaiendit
tulemused[$count]=$s #paneme tulemused massiivi
echo "$count $(basename $s)" #kuvame numbrid ning leitud failide nimed
((count++))
done
#Küsime milliseid faile soovitakse kustutada ning paneme nende numbrid massivi DEL
declare -a NRarray
declare -a DEL
while [ true ];
do
#küsime kasutajal milliseid faile soovitakse kustutada
echo "Sisestage faili numbrid mida soovite kustutada."
read NR
#eemaldame komad tühikud ja punktid
IFS=", ."
set -- $NR
NRarray=( $NR )
let count=0
#eemaldame sidekriipsud
for r in ${NRarray[@]}; do
IFS="-"
set -- $r
Sarray=( $r )
#täidame tühjad vahemikud
TEINE=${Sarray[1]}
if [ -z ${Sarray[1]} ]; then
TEINE=${Sarray[0]}
fi
ARV=${Sarray[0]}
#kirjutame saadud numbrid massiivi DEL
while [ $ARV -le $TEINE ]; do
DEL[$count]=$ARV
((ARV++))
((count++))
done
done
break
done
echo "Kas soovite kustutada järgmiseid faile?"
#Kirjutame väljavalitud failide asukohad massiivi ning kuvame kasutajale
let count=0
for s in ${DEL[@]}; do
KUSTUTAMISEKS[$count]=${tulemused[$s]}
echo ${tulemused[$s]}
((count++))
done
#Küsime kinnitust kas kustutada failid
echo "Kustutamiseks sisestage 0 , katkestamiseks vajutage 1."
read JAHEI
if [ $JAHEI == "1" ]; then
exit 0
fi
for s in ${KUSTUTAMISEKS[@]}; do
if [ -w $s ]; then #Kontrollime kas fail on olemas ning kas kasutaja saab seda muuta.
rm $s
else
echo "Faili $s ei õnnestunud kustutada"
fi
done
echo "Failid on kustutatud"