User:Ulaaneot: Difference between revisions
From ICO wiki
Jump to navigationJump to search
No edit summary |
|||
Line 1: | Line 1: | ||
== Lahendus 1 (arvestamiseks) == | == Lahendus 1 (arvestamiseks) == | ||
'''Versioon 1.0''' | |||
Bash Quest oli koostatud vigaselt, sest .html faili esimesel real on tavaliselt <html> blokk. | |||
Siiski on Questi esialgne lahendus kontrollitud ja töötab: | |||
<source lang="bash"> | <source lang="bash"> | ||
#!/bin/bash | #!/bin/bash | ||
Line 24: | Line 31: | ||
echo "Faili esimene rida: <textarea>$FIRSTLINE</textarea><br />" >> $FILENAME | echo "Faili esimene rida: <textarea>$FIRSTLINE</textarea><br />" >> $FILENAME | ||
# Kirjutame faili aadressi .html faili | # Kirjutame faili aadressi .html faili | ||
echo "Faili asukoht: <a href="$ | echo "Faili asukoht: <a href="${files[$c]}" target="_new">${files[$c]}</a><br />" >> $FILENAME | ||
done | done | ||
# Lõpetame .html faili | # Lõpetame .html faili |
Revision as of 15:58, 27 May 2011
Lahendus 1 (arvestamiseks)
Versioon 1.0
Bash Quest oli koostatud vigaselt, sest .html faili esimesel real on tavaliselt <html> blokk.
Siiski on Questi esialgne lahendus kontrollitud ja töötab:
#!/bin/bash
# Autor: Urmo Laaneots
# Versioon: 1.0
# Skript otsib üles kõik .html failid ja kirjutab faili esimese rea ja aadressi faili failid.html.
# Määrame failinime, kuhu lõpptulemus kirjutatakse
FILENAME=failid.html
# Loome html faili alguse vastavalt W3 standarditele ja kirjutame selle faili
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">
<html>
<head>
<title>.html failid</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" />
</head>
<body>" > $FILENAME
# `Otsime kõik .html failid süsteemist ja paneme need massiivi
files=( `find / -type f -name "*.html"` )
# Tsükkel, mis käib kõik massiivi liikmed läbi
for (( c=1; c<${#files[@]}; c++ )); do
# Loeme failide esimese rea ja paneme selle muutujasse
FIRSTLINE=`head -n 1 ${files[$c]}`
# Kirjutame faili esimese rea .html faili
echo "Faili esimene rida: <textarea>$FIRSTLINE</textarea><br />" >> $FILENAME
# Kirjutame faili aadressi .html faili
echo "Faili asukoht: <a href="${files[$c]}" target="_new">${files[$c]}</a><br />" >> $FILENAME
done
# Lõpetame .html faili
echo "</body>
</html>" >> $FILENAME
# Teavitame kasutajat scripti töö lõpetamisest
echo "Done!"
Lahendus 2 (tegin esimesena)
#!/bin/bash
# Autor: Urmo Laaneots
# Versioon: 0.1
# Skript otsib üles kõik .html failid ja kirjutab faili esimese rea ja aadressi faili failid.html.
# Määrame failinime, kuhu lõpptulemus kirjutatakse
FILENAME=failid.html
# Loome html faili alguse vastavalt W3 standarditele ja kirjutame selle faili
echo "<!DOCTYPE HTML PUBLIC \"-//W3C//DTD HTML 4.0//EN\" \"http://www.w3.org/TR/REC-html40/strict.dtd\">
<html>
<head>
<title>.html failid</title>
<meta http-equiv=\"content-type\" content=\"text/html; charset=UTF-8\" />
</head>
<body>" > $FILENAME
# `Otsime kõik .html failid süsteemist ja paneme need temp faili.
echo `find / -type f -name "*.html" > temp`
# Loeb rida haaval temp faili.
while read line
do
# Kirjutame failiaadressi temp2 faili
echo $line > temp2
# Tsükkel, mis avab faili ja loeb esimese rea ning kirjutab faili aadressi .html faili.
while read line
do
FIRSTLINE=`head -n 1 $line`
echo "Faili esimene rida: <textarea>$FIRSTLINE</textarea><br />" >> $FILENAME
echo "Faili asukoht: <a href="$line" target="_new">$line</a><br />" >> $FILENAME
echo " "
done < temp2
done < temp
# Lõpetame .html faili
echo "</body>
</html>" >> $FILENAME
# Kustutame temp failid
rm temp
rm temp2
# Teavitame kasutajat, et script lõpetas oma töö!
echo "Done!"