Możesz użyć polecenia SEQ, aby iterować sekwencję liczb w wierszu poleceń, a nawet w Bash. Możesz także przebić wyjście do innych plików lub programów. Omówimy to wszystko w tym artykule.
Praca z poleceniem SEQ
Polecenie SEQ jest wstępnie zainstalowane w Linux. Jego podstawowa składnia to:
$ seq [opcja] Pierwszy przyrost ostatniPolecenie SEQ generuje sekwencję liczb. Możesz zdefiniować, jak generować liczby.1
1. Praca z SEQ Last
Kiedy podano tylko jeden argument, SEQ traktuje go jak OSTATNI. Drukuje liczby zaczynające się od 1 i przyrosty do tej liczby. Domyślny przyrost jest o 1.
Na przykład, aby użyć 14 jako nasz argument, wyjście będzie:
2. Praca z SEQ pierwszą i ostatnią
Możesz określić, od czego zacząć numer sekwencji, dodając dwa argumenty. Pierwszy reprezentuje wartość początkową, a druga to ostatnia wartość, którą należy wydrukować. Jednak pierwszy argument nie może być większy niż ostatni argument.
Wydrukujmy sekwencję od 3 do 14. Poleceniem będzie:
3. Praca z SEQ pierwszym przyrostem ostatnie
Kiedy SEQ otrzymuje trzy argumenty, traktuje pierwszy argument jako punkt wyjścia, gdy zacznie się numer sekwencji. Drugim argumentem jest numer przyrostowy, a trzeci argument to ostatnia liczba.
Na przykład, aby wydrukować 3 do 14, zwiększając wartość o 2, poleceniem będzie:
4. Praca z sformatowanymi strunami
SEQ umożliwia ciągłe struny z liczbami sekwencji za pomocą" %G" opcja. Format ciągu jest podobny do programowania C i możesz określić liczbę znaków. Zobaczmy niektóre z niewielu przykładów.
Aby dodać ciągi przed numerem sekwencji, zastosuj następujące polecenie:
$ seq -f "num%02G" 5Poprzednie polecenie drukuje numery sekwencji od 1 do 5 i dołącza słowa i zera przed liczbą.
Możesz także określić przyrost i wartość początkową.
Na przykład, aby wydrukować te same sformatowane ciągi, zaczynając od 11 i zwiększających o 4 do 25, poleceniem będzie:
$ seq -f „num%02g” 11 4 25Wyjście byłoby następujące:
SEQ drukuje dane wyjściowe na swojej linii. Jeśli wolisz wyświetlać wynik na tej samej linii, użyj -S flaga.
5. Praca z SEQ -W
Domyślnie wypełnienie szerokości wyjścia nie jest równe, szczególnie podczas pracy z liczbami, które nie mają takiej samej liczby cyfr. Możesz jednak dołączyć wiodące zera, aby wyrównać szerokość za pomocą -w.
6. Praca z separatorami
Podczas generowania liczb sekwencji potrzebny jest separator, szczególnie na tej samej linii. SEQ oferuje -S flaga, która pozwala zdefiniować rodzaj separatora do użycia. W następującym przykładzie dodaliśmy różne separatory:
7. Praca z liczbami zmiennoprzecinkowej
Kiedy musisz wygenerować sekwencję zawierającą pływające wartości, użyj „%F„Opcja i dodaj wartość przyrostową. Na przykład, aby dodać 0.5 Przyrost, poleceniem będzie:
8. Praca ze skryptami Bash za pomocą SEQ
Możesz użyć SEQ do tworzenia skryptów bash. W naszym przypadku utworzymy skrypt bash, który generuje liczby sekwencji od 2 do 10 z 0.8 Przyrost.
Kod skryptu będzie:
Uczyń skrypt wykonywany i uruchom go w celu wygenerowania danych wyjściowych.
Możesz także utworzyć skrypt, który tworzy pliki zaczynające się od podanego słowa kluczowego, a następnie wygenerowane liczby. W naszym przypadku tworzymy skrypt, który tworzy nazwane pliki wykład i używa SEQ, aby je wymienić.
Uruchom skrypt. Zwróć uwagę na dane wyjściowe i sposób, w jaki tworzy różne pliki, jak pokazano następująco:
Możesz także utworzyć wiele plików na terminalu bez użycia skryptu. Aby zrobić te same pliki, co my, za pomocą skryptu Bash, ale zamiast tego na terminalu poleceniem będzie:
$ touch $ (seq -f „newlecture-%g.txt ”10)9. Prowadzenie wyjścia SEQ do pliku
Możesz zapisać dane wyjściowe numeru sekwencji na nowym pliku za pomocą różnych opcji. W naszym przypadku przerzucimy dane wyjściowe do nowego pliku, który zostanie utworzony po uruchomieniu polecenia.
$ seq -f „num%02g” 11 4 25 | Cat> Pipefile.tekstWniosek
SEQ to polecenie Linux, które natychmiast generuje potrzebne numery sekwencji. Zrozumiałeś teraz, jak używać SEQ do tworzenia numerów sekwencji na różne sposoby, w tym używanie go ze skryptami Bash. Będziesz cieszył się, jak szybko wykonuje to zadanie.