Napisać skrypt pt. zadanie2
Skrypt przyjmuje 2 lub 3 parametry
./zasanie2 BAZA_MODELI DOBRE_MODELE [ wybrane_modele ]
Plik BAZA_MODELI zawiera w każdej linijce kilka liczb, taki zbiór liczb nazywamy modelem. Czyli każdy model to jedna linijka, a numer modelu to numer linijki.
Niektóre modele sa źle policzone. Objawia się to tym, że zamiast liczby w danym miejscu, pojawia się ciąg kilku gwiazdek, np. *****, lub ciąg: "nan".
Do pliku DOBRE_MODELE mamy wypisać numery tych przejrzanych modeli, które są dobre.
W drugiej kolumnie pliku DOBRE_MODELE ma się znaleźć wartość szóstej liczby z danego modelu (nazwijmy ją Chi2).
W trzeciej kolumnie pliku DOBRE_MODELE ma się znaleźć długość linijki zawierającej dany model.
W trakcie działania skryptu, do pliku wypisywane są dobre modele, a numery złych modeli muszą być wypisane na ekran, jako informacja dla użytkownika.
Taką operację nazwiemy weryfikacją modelu.
Gdy podane są tylko dwa argumenty, program przeprowadza weryfikacje wszystkich modeli z bazy modeli. Trzeci, opcjonalny argument jest plikiem zawierającym listę modeli, które chcemy zweryfikować. Lista w każdej linijce ma numer interesującego nas modelu, oraz drugą liczbę (nieistostną dla zadania).
Jeśli podana jest lista wybranych modeli, przeprowadzamy weryfikacje tylko tych z listy.
Program wywołany z błędną liczbą argumentów musi wypisywać informację o sposobie użycia, i końcyć pracę.
Na początku działania, program musi poinformować użytkownika co zamierza zrobić. Tzn. z którego pliku bierze bazę modeli. Do którego pliku zamierza wypisać dobre modele. I ile modeli zamierza przejrzeć
Należy sprawdzić, czy podane pliki z danymi istnieją. W przeciwnym przypadku wyjść z błędem.
Na końcu działania, skrypt ma wypisać liczbę dobrych i złych modeli, oraz wszystkich które przejrzał.
Po dokonaniu weryfikacji wszystkich zadanych modeli, program pyta się czy posortować wynikowy plik.
wskazówka dla tcsh:
echo -n "Czy posortować dobre modele(t/n)? " set odpowiedz=$<
wskazówka dla bash:
echo -n "Czy posortować dobre modele? " select odpowiedz in "t" "n" do echo "Odpowiedziales:" $odpowiedz break done
Jeśli odpowiedzią jest "t", wtedy plik wynikowy z dobrymi modelami powinien zostać posortowany po Chi2
Przykład użycia: