User:Msuursal: Difference between revisions
From ICO wiki
Jump to navigationJump to search
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. …' |
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 " | 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'