Nowe posty

xx Przy uploadzie przerywane są wszystkie połączenia (9)
2020-06-01, 20:13:01
xx Apache2 i twarde https (3)
2020-05-25, 15:53:43
xx Czy istnieje emulator terminala który zapamieta komendy na jakiejś liście? (9)
2020-05-23, 17:04:57
xx RTLinux wybór dystrybucji (0)
2020-05-23, 15:42:54
xx Problem z instalacją Ubuntu na bootowalnym pendrajwie (9)
2020-05-22, 15:08:12
xx Ubuntudde 20.04 LTS nie działa Lightdm (8)
2020-05-22, 09:16:42
xx [Gra za darmo] GTA5 (1)
2020-05-20, 21:49:26
xx Marketing (1)
2020-05-13, 08:00:41
xx Polecenia Debian (1)
2020-05-10, 19:58:54
xx Uruchamianie pliku z każdego katlogu (2)
2020-05-10, 19:23:33

Autor Wątek: AWK - czy nie popełniłem błędów?  (Przeczytany 2047 razy)

Offline

  • Users
  • Nowy na forum
  • *
  • Wiadomości: 7
    • Zobacz profil
AWK - czy nie popełniłem błędów?
« dnia: 2008-04-22, 14:02:38 »
Mam takie zadanko do napisania - moja koncepcja wygląda tak:
Czy są tu błędy?


#!/bin/sh



# w zadanym pliku tekstowym znalesc slowo najczesciej wystepujace na poczatku zdania.

#Zdanie odrozniamy  .  !  ?


# Testowanie poprawnosci argumentow
if [ "$#" != "1" ]; then
echo "Złe parametry wywołania"
exit 2
fi

if [ ! -f $1 ]; then
echo "To nie jest plik"
exit 3
fi


awk '
BEGIN { RS="[.?!]+"

}
{
if (match($1,/[:blank:]/)!=0)
{
tab[$1]++
printf "%s %s\\n", $1, tab[$1]
}

}

END {
for (wyraz in tab)
{
if(tab[wyraz] > max)
{
max = tab[wyraz]
str = wyraz
}
}

printf "najwięcej: %s = %s\\n",str,tab[str]
}


' $1
Pozdrawiam i dzięki za pomoc.

Ed: Pomogłem (mam nadzieję) tylko ewentualnym czytelnikom tego skryptu. Zobacz http://forum.linux.pl/help.php#bbcode