Exemplu Utilizează comanda Seq Linux

Acest ghid vă va arăta cum să utilizați comanda seq pentru a genera liste de numere în cadrul terminalului Linux.

Sintaxă de bază a comenzii Seq

Imaginați-vă că doriți să afișați numerele de la 1 la 20 pe ecran.

Următoarea comandă seq vă arată cum să faceți acest lucru:

seq 1 20

Pe cont propriu, această comandă este destul de inutilă. Cel puțin veți dori să trimiteți numerele într-un fișier.

Puteți face acest lucru folosind comanda cat după cum urmează:

seq 1 20 | cat> numberedfile

Acum veți avea un fișier numit numberedfile cu numerele de la 1 la 20 imprimate pe fiecare linie.

Metoda pe care am arătat-o ​​până acum pentru afișarea unei secvențe de numere ar fi putut fi condensată la următoarele:

seq 20

Numărul implicit de pornire este 1, prin furnizarea numărului 20, comanda secvență se numără automat de la 1 la 20.

Trebuie doar să utilizați formatul lung dacă doriți să numărați între două numere diferite, după cum urmează:

seq 35 45

Aceasta va afișa numerele de la 35 la 45 la ieșirea standard.

Cum se stabilește un increment utilizând comanda Seq

Dacă doriți să afișați toate numerele paralele între 1 și 100, puteți utiliza partea incrementală a secvenței de la secvența la pasul 2 numerele simultan, după cum arată următorul exemplu:

seq 2 2 100

În comanda de mai sus, primul număr este punctul de plecare.

Al doilea număr este numărul care urmează să crească în fiecare etapă, de exemplu, 2 4 6 8 10.

Al treilea număr este numărul final de numărare.

Formatarea comenzii Seq

Pur și simplu trimiterea de numere pe ecran sau într-un fișier nu este deosebit de utilă.

Cu toate acestea, poate doriți să creați un fișier cu fiecare dată în martie.

Pentru aceasta puteți utiliza următorul comutator:

seq -f "% 02g / 03/2016" 31

Aceasta va afișa o ieșire similară cu următoarea:

Veți observa% 02g. Există trei formate diferite: e, f și g.

Ca exemplu pentru ceea ce se întâmplă atunci când utilizați aceste formate diferite încercați următoarele comenzi:

seq -f "% e" 1 0,5 3

seq -f "% f" 1 0,5 3

seq -f "% g" 1 0,5 3

Ieșirea din% e este după cum urmează:

Ieșirea de la% f este după cum urmează:

În cele din urmă, producția de la% g este după cum urmează:

Utilizarea comenzii secvențiale ca parte a unui buclă

Puteți utiliza comanda seq ca parte a unei buclă pentru a rula prin același cod de câte ori a fost setat.

Spuneți, de exemplu, că doriți să afișați de zece ori termenul "salut lume".

Acesta este modul în care puteți face acest lucru:

pentru i în $ (seq 10)

do

echo "hello world"

Terminat

Schimbați separatorul de secvențe

Implicit, comanda seq afișează fiecare număr pe o linie nouă.

Acest lucru poate fi modificat pentru a fi orice caracter delimitator pe care doriți să îl utilizați.

De exemplu, dacă doriți să utilizați o virgulă pentru a separa numerele, utilizați următoarea sintaxă:

seq-s, 10

Dacă preferați să utilizați un spațiu, atunci trebuie să îl puneți în citate:

seq-s "" 10

Faceți numerele de secvență aceeași lungime


Când ieșiți numerele într-un fișier, s-ar putea să vă deranjați că, pe măsură ce urcați prin zeci și sute că numerele au o altă lungime.

De exemplu:

Puteți face toate numerele la aceeași lungime după cum urmează:

seq -w 10000

Când executați comanda de mai sus, ieșirea va fi acum după cum urmează:

Afișarea numerelor în ordine inversă

Puteți afișa numerele într-o ordine în ordine inversă.

De exemplu, dacă doriți să afișați numerele de la 10 la 1, puteți utiliza următoarea sintaxă:

seq 10 -1 1

Numere cu puncte plutitoare

Puteți utiliza comanda secvență pentru a lucra și la numerele cu puncte variabile.

De exemplu, dacă doriți să afișați fiecare număr între 0 și 1 cu un pas 0.1, puteți face acest lucru după cum urmează:

seq 0 0,1 1

rezumat

Comanda seq este mai utilă atunci când este folosită ca parte a unui script bash .