Gość rgabrysiak Napisano Listopad 16, 2007 Zgłoszenie Share Napisano Listopad 16, 2007 Witam Chciałem napisać skrypt który po podaniu 3 parametrów utworzy plik z nazwy podanej jako parametr 1 i2. Ok z tym sobie poradziłem. Ale za nic nie wiem jak sprawić aby nazwa była podana w kolejości alfabetycznej (trochę zamieszałem ale postaram się wyjaśnić podaję np. skrypt unix fedora - i jak sprawić aby powstały plik miał nazwę posortowaną alfabetycznie ). Uczę się dopiero podstaw Linuksa i myślę że znajomość tworzenia skryptów na pewno może się przydać. Więc prosze o pomoc (choćby małą wskazówkę) Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
jjj Napisano Listopad 17, 2007 Zgłoszenie Share Napisano Listopad 17, 2007 To zależy. Możesz chcieć sortować wewnątrz skryptu albo w systemie. Możesz ograniczyć się do 2 parametrów, możesz dopuszczać ich dowolną liczbę. Ogólnie, za pomocą systemowego sortowania, listę parametrów o dowolnej rozsądnej długości posortujesz np. tak: lista="" while [ $1 ]; do lista="$lista$1:" shift done echo $lista # dla kontroli lista=`echo $lista | tr ":" "\n" | sort -i | tr "\n" ":"` echo $lista # dla kontroli Najpierw łączymy wszystkie słowa w jedną listę, oddzielając je czymś (dwukropkiem). Potem krajemy tę listę tr-em na wiersze, bo sort operuje na wierszach. Wynik odebrany od sorta sklejamy z powrotem w jeden wiersz, wstawiając zamiast końców wierszy separatory słów. Efekt zapamiętujemy w zmiennej $lista. Możesz jej użyć do skonstruowania np. nazwy pliku. Jeżeli masz tylko 2 parametry, to wyciąganie armii składającej się z pętli, sorta i przekierowań mija się z celem. Wtedy wystarczy warunek: if [[ $1 < $2 ]]; then nazwa=$1$2 else nazwa=$2$1 fi echo $nazwa # dla kontroli Powodzenia Odnośnik do komentarza Udostępnij na innych stronach More sharing options...
Rekomendowane odpowiedzi
Jeśli chcesz dodać odpowiedź, zaloguj się lub zarejestruj nowe konto
Jedynie zarejestrowani użytkownicy mogą komentować zawartość tej strony.
Zarejestruj nowe konto
Załóż nowe konto. To bardzo proste!
Zarejestruj sięZaloguj się
Posiadasz już konto? Zaloguj się poniżej.
Zaloguj się