Kabuk Proramlama dersinde benim projem senin dediðine benzer biþeydi. donanim.balikesir.edu.tr adresinde hala duruyo projeler. Bir tane #!/bin/sh ve iki tane awk scripti yazmýþtým. Ve aranan kelimeyi bulup HTML dosyasý oluþturuyordu.
$ ./bul /usr/home serkan
þeklinde kullanýlýyor.
iyi çalýþmalar
###################### bul
#!/bin/sh
# Serkan Cankaya tarafindan yapilmistir.
pwd > dizin
cd /usr/home/kabuk2/serkan/
if [ "$#" = 2 ]; then
find * "$1" -type f > dosyalar
awk -v ara=$2 -v dizin=$1 -f htmldongu.awk dosyalar
else
echo "Kullanim: bul dizin anahtar_kelime"
echo "Ornek. bul /var mail"
echo ""
echo "Tanitim: Bul aradiginiz kelimeyi belirtilen dizinlerdeki dosyalarda arar."
echo "Buldugu dosylarin isimlerini ve satir numaralarini konsol ekranina aktarir."
echo "Ayni zamana bulunan.html dosyasini uretir. Bu dosyaya Browser ile bakabilirsiniz."
fi
cat dizin | cd
#############htmldongu.awk
BEGIN {
aranacak=ara
print "<html><title>Bulunan Dosyalar</title>" > "bulunan.html"
print "<body><table width=\"80%\" bgcolor=\"yellow\" border=1 align=center>" >> "bulunan.html"
print "<tr bgcolor=\"#ffffe3\">" >> "bulunan.html"
print "<td colspan=2 align=center>" >> "bulunan.html"
print "<font size=5 color=red > Aradiginiz Kelime:<font color=blue>" aranacak "</font>" >> "bulunan.html"
print "<br>Aramanin Yapildigi Dizin:<font color=blue>" dizin "</font></font>" >> "bulunan.html"
print "<tr bgcolor=\"#ffa25f\" height=60><td width=\"20%\" align=center><b>Satir Numarasi</b>" >> "bulunan.html"
print "<td align=center> <b>Ozet</b>" >> "bulunan.html"
}
{
if($0 ~ "/" && $1 != "/usr/home/kabuk2/serkan/bulunan.html" ){
komut = "awk -v ara=" ara " -v dosya=" $1 " -v dizin=" dizin " -f html.awk " $1
system(komut);
}
}
END {
close("bulunan.html")
print "</body></html>" >> "bulunan.html"
}
################html.awk
BEGIN{
satir=0
toplam=0
bulundu=0
}
{
satir+=1
if($0 ~ ara){
if(toplam == 0 )
print dosya;
print satir
toplam+=1;
for(i=1; i<=NF;i++){
if((index($0, ara)) != 0 ){
if( bulundu == 0){
bulundu=1;
print "<tr>" >> "bulunan.html"
print "<td colspan=2 bgcolor=\"#00d0ff\"><b><font color=red>" >> "bulunan.html"
print dosya "</b></font></td>" >> "bulunan.html"
}
if(substr(dosya,length(dosya)-4,4) ~ "htm"){
ozet="ozet verilemiyor";
}else if(length($0) > 100){
indexd = index($0,ara) - 40
if( indexd < 1 )
indexd = 1;
ozet = substr($0,indexd,80);
}else{
ozet = $0;
}
if( (toplam % 2) == 0 )
print "<tr bgcolor=\"#FFFEED\">" >> "bulunan.html";
else
print "<tr bgcolor=\"#DEFFDA\">" >> "bulunan.html";
print "<td>" satir "<td>" ozet >> "bulunan.html";
break;
}
}
}
}
END{
if(bulundu == 1){
print "<tr><td colspan=2 bgcolor=\"#F5FFDA\" align=right>" >> "bulunan.html"
print "<font size=2>Toplam " toplam " satirda bulundu.</font>" >> "bulunan.html"
}
}
Yahoo! Mail
Bring photos to life! New PhotoMail makes sharing a breeze.

