User:Msuursal

From ICO wiki
Revision as of 16:32, 15 May 2011 by Msuursal (talk | contribs) (Created page with '<source lang="bash"> #!/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. …')
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to navigationJump to search
#!/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"