User:Msuursal: Difference between revisions

From ICO wiki
Jump to navigationJump to search
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. …'
 
Msuursal (talk | contribs)
No edit summary
Line 1: Line 1:
== BASH kodutöö ==
<source lang="bash">
<source lang="bash">
#!/bin/bash
#!/bin/bash
Line 62: Line 64:
echo "Kas soovite kustutada järgmiseid faile?"
echo "Kas soovite kustutada järgmiseid faile?"
#Kirjutame väljavalitud failide asukohad massiivi ning kuvame kasutajale
#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.
  echo "Fail $s on kustutatud"
  else
    echo "Faili $s ei õnnestunud kustutada"
  fi
    done
echo "Failid on kustutatud"
</source>
== BASH arvestus ==
<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.
#Küsime faililaiendi.
echo "Sisestage faili tüüp mida soovite otsida"
while [ true ];
do
echo "[1] image"
echo "[2] text"
echo "[3] data"
read tyyp
LAIEND=1
if [ $tyyp == 1 ]; then
LAIEND="image"
break
elif [ $tyyp == 2 ]; then
LAIEND="text"
break
elif [ $tyyp == 3 ]; then
LAIEND="data"
break
else
echo "Sisestage failitüübi ees olev number!"
fi
done
#Deklareerin massiivi muutuja
declare -a tulemused
let count=0
#Otsime vastavat faililaiendit, paneme need massiivi ja kuvame
for s in $(find "/home/kasutaja" | file -if- | grep $LAIEND | awk -F: '{print$1}'); do #otsime faililaiendit
    tulemused[$count]=$s #paneme tulemused massiivi
    echo "$count $(basename $s)" #kuvame numbrid ning leitud failide nimed
    ((count++))
done
#Kusime milliseid faile soovitakse kustutada ning paneme nende numbrid massivi DEL
declare -a NRarray
declare -a DEL
while [ true ];
do
#kusime kasutajal milliseid faile soovitakse kustutada
    echo "Sisestage faili numbrid mida soovite kustutada."
    read NR
#eemaldame komad tuhikud ja punktid
    IFS=", ."
    set -- $NR
    NRarray=( $NR )
let count=0
#eemaldame sidekriipsud
    for r in ${NRarray[@]}; do
      IFS="-"
      set -- $r
      Sarray=( $r )
#taidame tuhjad 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 jargmiseid faile?"
#Kirjutame valjavalitud failide asukohad massiivi ning kuvame kasutajale
let count=0
let count=0
for s in ${DEL[@]}; do
for s in ${DEL[@]}; do
Line 77: Line 175:
  if [ -w $s ]; then #Kontrollime kas fail on olemas ning kas kasutaja saab seda muuta.
  if [ -w $s ]; then #Kontrollime kas fail on olemas ning kas kasutaja saab seda muuta.
    rm $s
    rm $s
    echo "Fail $s on kustutatud"
  else
  else
    echo "Faili $s ei õnnestunud kustutada"
    echo "Faili $s ei õnnestunud kustutada"
  fi
  fi
     done
     done
echo "Failid on kustutatud"
echo
</source>
 
== Python arvestus ==
 
<source lang="python">
#!/usr/bin/python
#autor: Meelis Suursalu
#Versioon: 0.1
#Skript kusib kasutaja kaest faili laiendi mida otsib arvutist ning voimaldab leitud faile kustutada.
import os
import commands
import sys
a=0
while a == 0 :
#Kusime faililaiendi.
laiend = raw_input("Sisestage otsitav faililaiend: ")
#Kontrollime kas tegemist on faililaiendiga.
if laiend[0]!='.':
print 'Sisestasite valesti faililaiendi'
else:
a=1
#otsime faililaiendit
x=commands.getoutput('find /home/kasutaja/ -name "*'+ laiend +'"')
asukohad = x.split()
#kuvame saadud tulemused
for index, asukoht in enumerate(asukohad) :
print index, asukoht
#kusime kustutatavadi faili numbreid
delnr = raw_input("Sisestage kustutatavate failide numbrid: ")
#Eemaldame tuhikud ja komad ning paneme tulemuse listi
delnr=delnr.replace(' ',',')
delnr=delnr.replace(',,',',')
delnr = delnr.split(',')
kust=[]
for item in delnr:
#votame vahemikud, taidame needm kontrollime kas need on juba listis kui ei siis lisame nad listi
if item.find("-") != -1:
s=item.split('-')
esimene=int(s[0])
teine=int(s[1])+1
for n in range(esimene,teine):
if n not in kust:
kust.append(n)
#votame uksikud numbrid kontrollime kas need on juba listis kui ei siis lisame nad listi
else :
item=int(item)
if item not in kust:
kust.append(item)
#sordime listi
kust=sorted(kust)
#kusime kasutajalt kustutatavate failide numbreid
print "Kas soovite kustutada jargmiseid faile?"
#kuvame valitud numbrid
for i in kust :
print asukohad[i]
#kusime kasutajalt kinnitust ja tagame et kasutaja sisestaks vaid 0 voi 1
a=0
while a==0:
jahei= raw_input("Kustutamiseks sisestage 0 , katkestamiseks vajutage 1. ")
if jahei == "1":
sys.exit(1)
if jahei == "0":
a=1
else:
print "Sisestage 0 voi 1"
for n in kust:
asukohad[i]
#kontrollime kas kasutaja saab faili kustutada, kui saab siis kustutame ning kuvame kinnituse
if os.access(asukohad[i], os.W_OK):
os.system('rm '+asukohad[i])
print 'Faili '+asukohad[i]+' on kustutatud'
#kuvamame et faili ei saanud kustutada
else :
print 'Faili '+asukohad[i]+'ei kustutatud'
</source>
</source>

Revision as of 02:03, 22 November 2011

BASH kodutöö

#!/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.
	   echo "Fail $s on kustutatud"
	  else
	    echo "Faili $s ei õnnestunud kustutada"
	  fi
     done
echo "Failid on kustutatud"

BASH arvestus

#!/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.
 
#Küsime faililaiendi.
echo "Sisestage faili tüüp mida soovite otsida"
while [ true ];
do
echo "[1] image"
echo "[2] text"
echo "[3] data"
 read tyyp
LAIEND=1
if [ $tyyp == 1 ]; then		
	LAIEND="image"
	break
elif [ $tyyp == 2 ]; then 
	LAIEND="text"
	break
elif [ $tyyp == 3 ]; then 
	LAIEND="data"
	break
else 
	echo "Sisestage failitüübi ees olev number!"
fi
done
#Deklareerin massiivi muutuja
declare -a tulemused
let count=0
#Otsime vastavat faililaiendit, paneme need massiivi ja kuvame
for s in $(find "/home/kasutaja" | file -if- | grep $LAIEND | awk -F: '{print$1}'); do		#otsime faililaiendit
    tulemused[$count]=$s 			#paneme tulemused massiivi
    echo "$count $(basename $s)"		#kuvame numbrid ning leitud failide nimed
    ((count++))
done
#Kusime milliseid faile soovitakse kustutada ning paneme nende numbrid massivi DEL
declare -a NRarray
declare -a DEL
while [ true ];
 do
#kusime kasutajal milliseid faile soovitakse kustutada
    echo "Sisestage faili numbrid mida soovite kustutada."
    read NR
#eemaldame komad tuhikud ja punktid
    IFS=", ."
    set -- $NR
    NRarray=( $NR )
let count=0
#eemaldame sidekriipsud
    for r in ${NRarray[@]}; do
      IFS="-"
      set -- $r
      Sarray=( $r )
#taidame tuhjad 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 jargmiseid faile?"
#Kirjutame valjavalitud 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
	    echo "Fail $s on kustutatud"
	  else
	    echo "Faili $s ei õnnestunud kustutada"
	  fi
     done
echo

Python arvestus

#!/usr/bin/python
#autor: Meelis Suursalu
#Versioon: 0.1
#Skript kusib kasutaja kaest faili laiendi mida otsib arvutist ning voimaldab leitud faile kustutada.
import os
import commands
import sys
a=0
while a == 0 :
#Kusime faililaiendi.
	laiend = raw_input("Sisestage otsitav faililaiend: ")
#Kontrollime kas tegemist on faililaiendiga.
	if laiend[0]!='.':
		print 'Sisestasite valesti faililaiendi'
	else:			
		a=1
#otsime faililaiendit
x=commands.getoutput('find /home/kasutaja/ -name "*'+ laiend +'"')
asukohad = x.split()
#kuvame saadud tulemused
for index, asukoht in enumerate(asukohad) :
	print index, asukoht
#kusime kustutatavadi faili numbreid
delnr = raw_input("Sisestage kustutatavate failide numbrid: ")
#Eemaldame tuhikud ja komad ning paneme tulemuse listi
delnr=delnr.replace(' ',',')
delnr=delnr.replace(',,',',')
delnr = delnr.split(',')
kust=[]
for item in delnr:
#votame vahemikud, taidame needm kontrollime kas need on juba listis kui ei siis lisame nad listi
	if item.find("-") != -1:			
		s=item.split('-')				
		esimene=int(s[0])
		teine=int(s[1])+1				
		for n in range(esimene,teine):
			if n not in kust:
				kust.append(n)
#votame uksikud numbrid kontrollime kas need on juba listis kui ei siis lisame nad listi
	else :
		item=int(item)	
		if item not in kust:				
			kust.append(item)
#sordime listi	
kust=sorted(kust)
#kusime kasutajalt kustutatavate failide numbreid
print "Kas soovite kustutada jargmiseid faile?"
#kuvame valitud numbrid
for i in kust :
	print asukohad[i]
#kusime kasutajalt kinnitust ja tagame et kasutaja sisestaks vaid 0 voi 1
a=0
while a==0:
	jahei= raw_input("Kustutamiseks sisestage 0 , katkestamiseks vajutage 1. ")
	if jahei == "1":
		sys.exit(1)
	if jahei == "0":
		a=1
	else:
		print "Sisestage 0 voi 1"
for n in kust:
	asukohad[i]
#kontrollime kas kasutaja saab faili kustutada, kui saab siis kustutame ning kuvame kinnituse
	if os.access(asukohad[i], os.W_OK):
		os.system('rm '+asukohad[i])
		print 'Faili '+asukohad[i]+' on kustutatud'
#kuvamame et faili ei saanud kustutada
	else :
		print 'Faili '+asukohad[i]+'ei kustutatud'