Merhaba Veli.

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.

Cevap