Forum otwartych umysłów
Forum dla wszystkich i o wszystkim, a zwłaszcza dla tych co mają otwarty umysł.

| FAQ |  Szukaj |  Użytkownicy |  Grupy |  Mapa Google |
| Rejestracja |  Zaloguj |  Album |

Poprzedni temat «» Następny temat
Bash/awk problem ze skryptem
Autor Wiadomość
mandra 
Bobek


Dołączyła: 29 Kwi 2008
Posty: 2
Skąd: lodz
Wysłany: 2008-04-30, 20:09   Bash/awk problem ze skryptem

Witam.
Mam problem z poniższą częścią skryptu:

Bash:
Autor(){
if [ -d $WRITER ]; then
touch $WRITER/$$
opcja="$1"
echo $opcja

autorzy=`awk 'BEGIN{FS=":"}{print $2}' $DATA|grep -i "$1"`

if [ ${#autorzy} -eq 0 ]; then
echo "nie znaleziono autora pasującego do wzorca $1"

else
echo "znaleziono autorów:"
for autor in ${autorzy[@]}; do
echo $autor
done
fi
rm $WRITER/$$
else
sleep 1
echo -n "."
Autor $1
fi
}


Ogolnie funkcja działa, chciałam tylko wprowadzić modyfikację która wyszuka mi w pliku danego autora i wyswietli cala linie zawierającą poszukiwanego autora a nie tylko słowa odpowiadające autorom. Każdy wiersz w pliku w ktorym funkcja wyszukuje ma strukture:

numer:autor:tytul:kto(tu moze byc puste pole)

Funkcja powinna wyswietlac cala linie z poszukiwanym autorem zeby osoba szukajaca mogla poznac numer pozycji.
Z góry dziękuję za pomoc.
Ostatnio zmieniony przez Paszczak000 2008-05-02, 23:10, w całości zmieniany 1 raz  
 
 
Paszczak000 



Znak zodiaku:
panna

Zaproszone osoby: 54
Pomógł: 92 razy
Wiek: 22
Dołączył: 27 Lut 2004
Posty: 6755
Skąd: Łódź
Wysłany: 2008-05-02, 23:12   

Jak ma wywalić całą linię to najlepiej
Bash:
cat * | grep $autor

i tyle
_________________
 
 
 
 
mandra 
Bobek


Dołączyła: 29 Kwi 2008
Posty: 2
Skąd: lodz
Wysłany: 2008-05-14, 19:13   dzięki

Dzięki za pomoc :) )
 
 
Flogiston+ 
Bobek



Znak zodiaku:
byk

Dołączył: 11 Maj 2008
Posty: 10
Skąd: ŁÓDŹ
Wysłany: 2008-05-28, 22:06   

To ja się podepne :D

Mam takie dane

"imienazwisk:index:id:ocena:ocena:ocena"

W jaki sposób bashem lub awk dodać do siebie wszystkie oceny w linii (ich ilośc nie jest stała), określić ilośc tych ocen, policzyć średnią? Format danych można jeszcze zmodyfikować.
 
 
Paszczak000 



Znak zodiaku:
panna

Zaproszone osoby: 54
Pomógł: 92 razy
Wiek: 22
Dołączył: 27 Lut 2004
Posty: 6755
Skąd: Łódź
Wysłany: 2008-05-28, 22:26   

Flogiston+ napisał/a:
Format danych można jeszcze zmodyfikować.

tzn? chodzi o format danych wejściowych?
_________________
 
 
 
 
Flogiston+ 
Bobek



Znak zodiaku:
byk

Dołączył: 11 Maj 2008
Posty: 10
Skąd: ŁÓDŹ
Wysłany: 2008-05-29, 13:05   

Tak, format danych wejściowych można zmienić.

Chodzi o to, aby z tych danych dodać do siebie wszystkie oceny, dowiedzieć się ile było tych ocen i policzyć średnią.
 
 
Paszczak000 



Znak zodiaku:
panna

Zaproszone osoby: 54
Pomógł: 92 razy
Wiek: 22
Dołączył: 27 Lut 2004
Posty: 6755
Skąd: Łódź
Wysłany: 2008-05-29, 22:11   

Skoro możemy zmienić format to ja bym zrobił taki:
Kod:
imie:nazwisko:index:id;ocena ocena ocena ocena

Najpierw pobrałbym sobie same oceny do zmiennej jakiejś poleceniem:
Bash:
oceny=`awk -F ";" '{awk $2}'`

a następnie jakiś forem sobie dodaj :P
Bash:
for i in $oceny;
do
#dodawanie ocen :)
done

Zatem teraz pokombinuj i napisz ;-) Jak coś to pytaj :)
_________________
 
 
 
 
Wyświetl posty z ostatnich:   
Odpowiedz do tematu
Nie możesz pisać nowych tematów
Nie możesz odpowiadać w tematach
Nie możesz zmieniać swoich postów
Nie możesz usuwać swoich postów
Nie możesz głosować w ankietach
Nie możesz załączać plików na tym forum
Nie możesz ściągać załączników na tym forum
Dodaj temat do Ulubionych
Wersja do druku

Skocz do:  

Powered by phpBB modified by Przemo © 2003 phpBB Group

Dyskutuj na Forum