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:
- 01/03/2016
- 02/03/2016
- 03/03/2016
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:
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ă: 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: 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ă: Dacă preferați să utilizați un spațiu, atunci trebuie să îl puneți în citate: 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ă: Când executați comanda de mai sus, ieșirea va fi acum după cum urmează: 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ă: 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ă: Comanda seq este mai utilă atunci când este folosită ca parte a unui script bash.seq -f "% e" 1 0,5 3
seq -f "% f" 1 0,5 3seq -f "% g" 1 0,5 3
Utilizarea comenzii secvențiale ca parte a unui buclă
pentru i în $ (seq 10)
doecho "hello world"Terminat Schimbați separatorul de secvențe
seq-s, 10
seq-s "" 10
Faceți numerele de secvență aceeași lungime
seq -w 10000
Afișarea numerelor în ordine inversă
seq 10 -1 1
Numere cu puncte plutitoare
seq 0 0,1 1
rezumat