Na Linuxu možete pronaći nekoliko naredbi s neobičnim funkcionalnostima. Jedna od takvih naredbi je seq koja daje niz brojeva ovisno o navedenim argumentima.

Ali što možete učiniti s uslužnim programom naredbenog retka koji baca gomilu znamenki na vas? To ćete saznati u ovom vodiču.

Što je naredba seq?

Kao što je gore spomenuto, naredba seq u Linuxu brzo generira slijed numeričkih znakova. Korisnici naredbi mogu prosljeđivati ​​argumente za generiranje različitih kombinacija brojeva. Na primjer, povećani popis možete dobiti jednostavnim prosljeđivanjem dodatnog argumenta u seq.

Kakva je praktična upotreba naredbe? Iako se seq možda ne čini moćnim alatom u cijelosti, naredbu možete iskoristiti primjenom s drugim uslužnim programima za Linux. Također možete koristiti seq u bash skripte otkriti njezinu istinsku snagu.

Kako koristiti seq u Linuxu

Seq uzima samo nekoliko argumenata, što ga čini lakim za učenje alatom za bilo koga.

Osnovna sintaksa

Osnovna sintaksa naredbe je:

brojevi seq opcija
instagram viewer

...gdje mogućnosti su zastavice koje možete odrediti za pozivanje različitih metoda naredbe i brojevi su argumenti koje prosljeđujete za generiranje numeričkog niza.

Generirajte popis brojeva

Argumenti u slijedu slijede donji format unosa:

seq zadnji
seq prvi zadnji
seq prvi prirast zadnji

Kada navedete samo jedan broj, seq ga tumači kao gornju granicu za popis i generira niz od jednog do navedenog broja.

dalje 5

Spomenuta naredba će dati sljedeće:

1
2
3
4
5

Kad seq primi dva broja kao ulaz, tumači ih kao donju i gornju granicu niza. Da biste generirali popis brojeva od četiri do osam:

dalje 4 8

Izlaz:

4
5
6
7
8

Ali kada naredbi proslijedite tri broja, to drugi argument tumači kao broj prirasta. Na primjer:

dalje 3 2 13

Spomenuta naredba će prikazati popis brojeva koji počinju od tri do 13 sa korakom od dva.

3
5
7
9
11
13

Dodajte separator između brojeva

Prema zadanim postavkama, seq koristi znak novog retka kao odvajač za popis. To je razlog zašto se svaki broj na popisu nalazi u zasebnom retku.

Možete promijeniti ovo zadano ponašanje i koristiti prilagođeni separator pomoću -s zastava. Da biste koristili Razdoblje (.) znak kao separator:

seq -s. 3 7

Izlaz:

3.4.5.6.7

Imajte na umu da neki znakovi poput Tilda (~) mora biti priloženo unutar navodnika. To je zato što terminal koristi Tilda znak za označavanje /home direktorij, a to će se odraziti na izlaz ako ne dodate navodnike.

seq -s ~ 3 7

Izlaz:

3 / dom / 4 / dom / 5 / dom / 6 / dom / 7

S druge strane, kada separator omotate navodnicima:

seq -s '~' 3 7

Izlaz:

3~4~5~6~7

Dotjerajte izlazni format

Također možete promijeniti format izlaznog niza pomoću -f zastava. Prema zadanim postavkama, seq izvlači stil formata iz korisničkog unosa. Na primjer, ako navedete brojeve 0,1 i 0,5, zadani će izlaz imati format broja s pomičnom zarezom.

seq 0,1 0,1

Izlaz:

0.1
0.2
0.3
0.4
0.5

Možete odrediti prilagođeni izlazni format pomoću različitih specifikacija pretvorbe poput% a,% e,% f,% g,% A,% E,% F i% G.

Možete koristiti % f ako želite da izlaz slijedi format broja s pomičnom zarezom.

dalje-f% f 4 7

Izlaz:

4.000000
5.000000
6.000000
7.000000

Da biste izmijenili preciznost do dvije decimale:

seq -f% 0,2f 4 7

Izlaz:

4.00
5.00
6.00
7.00

Izlaz također možete u potpunosti transformirati navođenjem izlaznog predloška. Na primjer, da biste dobili popis svih IP adresa koje počinju sa 192.168.5.x:

seq -f 192.168.5.% g 1 233

Izlaz:

Da biste dodali dodavanje na izlaz, možete upotrijebiti -w zastava. The -w flag zadržava širinu izlaza u skladu s najvećim navedenim brojem.

Da biste generirali niz brojeva između jedan i 1.000 s priraštajem od 100 uz održavanje konstantne širine:

seq -w 1 100 1000

Izlaz:

0001
0101
0201
0301
0401
0501
0601
0701
0801
0901

Zatražite pomoć za naredbeni redak seq

Iako je seq jednostavan za upotrebu, ponekad korisnici mogu osjetiti potrebu provjerite stranicu s uputama za naredbu. The --Pomozite zastava će prikazati seq man stranicu:

seq - pomoć

Izlaz:

Praktični primjeri

Kao što je već spomenuto, seq se prvenstveno koristi s drugim Linux naredbama, na primjer, touch i expr.

Izvršite matematičke operacije

Ako želite brzo zbrojiti ili oduzeti određeni raspon brojeva, to možete učiniti lako pomoću seqa iznutra ekspr, koja je Linux naredba koja ulaz tretira kao izraz i prikazuje odgovarajući izlaz.

Da biste dodali sve brojeve između jedan i 100:

izraz `(seq -s" + "1 100)`

Naredba seq generira izlaz kako slijedi:

1 + 2 + 3 + 4 + 5 + 6...

Expr to tretira kao ulazni izraz i daje rješenje.

5050

Možete izvoditi druge matematičke operacije jednostavnom zamjenom separatora u naredbi seq drugim operatorima.

Brzo stvorite više datoteka

Ako na Linuxu želite stvoriti više datoteka čija imena slijede sličan obrazac, to možete jednostavno učiniti pomoću naredba dodira i dalje.

Na primjer, za stvaranje 10 datoteka s imenom datoteka-x.txt, gdje x je broj od jedan do 10:

dodirnite $ (seq -f "datoteka% g.txt" 1 10)

Dodir će vam za tren stvoriti datoteke.

Implementacija seq u skripte

Uzmite u obzir da pišete a alat za mrežni skener poput Nmap u bash, možda biste željeli dobiti popis svih otvorenih portova u mreži. Ali za to trebate pingirati svaku luku (ukupno 65535) i analizirati odgovor.

Da biste uštedjeli neko vrijeme, možete odabrati upotrebu seq-a i generiranje popisa IP adresa i kombinacija priključaka koje možete koristiti u svojoj skripti.

Pretpostavimo da želite dobiti popis svih priključaka uređaja s IP adresom 1.2.3.4. Evo brze naredbe za generiranje željenog rezultata:

dalje -f 1.2.3.4:%g 1 65535

Izlaz:

Zatim možete koristiti ovaj izlaz kao popis i prelaziti kroz njega, provjeravajući svaki port pomoću svoje skripte i analizirajući je li otvoren ili ne.

Koliko brzo seq generira brojeve?

Možda razmišljate možete li postići slične rezultate koristeći for petlju u bashu, zašto odabrati seq za zadatak? To je zato što stvarna snaga seqa leži u njegovoj brzini. Seq je brži od bilo koje druge naredbe koja generira slijed brojeva na Linuxu.

Možete čak i testirati njegovu brzinu pomoću uslužnog programa za vrijeme na Linuxu. Pogledajmo koliko vremena treba seq-u da generira popis od milijun brojeva počevši od jednog.

vremensko slijedeće 1000000

Gledajući donji izlaz, možete vidjeti da je trebalo samo oko četiri sekunde da se generira popis od milijun brojeva.

Snaga naredbenog retka Linuxa

Seq nije jedini alat u Linuxu koji se usredotočuje na pružanje brzih i točnih rezultata. Iako možete generirati popis brojeva pomoću petlja for u bashu, nije preporučljiva praksa s obzirom na to koliko su zapravo brze seq.

Linux naredbeni redak daje vam veću kontrolu nad operativnim sustavom i njegovim funkcionalnostima, što je također razlog zašto biste trebali početi koristiti terminal preko GUI-a već danas.

E-mail
5 razloga za odabir Linux terminala umjesto GUI-ja

Linux naredbeni redak ima visoku ocjenu kada su u pitanju performanse, kontrola i jednostavnost upotrebe.

Pročitajte Dalje

Povezane teme
  • Linux
O autoru
Deepesh Sharma (Objavljeno 65 članaka)

Deepesh je mlađi urednik za Linux u MUO. Na internetu piše informativni sadržaj više od 3 godine. U slobodno vrijeme uživa u pisanju, slušanju glazbe i sviranju gitare.

Više od Deepesh Sharme

Pretplatite se na naše obavijesti

Pridružite se našem biltenu za tehničke savjete, recenzije, besplatne e-knjige i ekskluzivne ponude!

Još jedan korak…!

Potvrdite svoju e-adresu u e-pošti koju smo vam upravo poslali.

.