V Linuxu lahko najdete več ukazov z nenavadnimi funkcijami. Eden takih ukazov je seq, ki odda zaporedje števil, odvisno od podanih argumentov.
Toda kaj lahko storite s pripomočkom ukazne vrstice, ki vame vrže kup številk? To boste našli v tem priročniku.
Kaj je ukaz seq?
Kot smo že omenili, ukaz seq v Linuxu hitro ustvari zaporedje številskih znakov. Uporabniki lahko ukazu posredujejo argumente za generiranje različnih kombinacij števil. Na primer, povečani seznam lahko dobite tako, da preprosto posredujete dodaten argument seq.
Kakšna pa je praktična uporaba ukaza? Čeprav seq seq morda ne zdi v celoti zmogljivo orodje, lahko ukaz izkoristite tako, da ga uporabite z drugimi pripomočki Linux. Seq lahko uporabite tudi v bash skripte razkriti njegovo resnično moč.
Kako uporabljati seq v Linuxu
Seq vzame le nekaj argumentov, zaradi česar je orodje, ki se ga lahko nauči vsakogar.
Osnovna sintaksa
Osnovna sintaksa ukaza je:
zaporednih številk možnosti
...kje opcije so zastavice, ki jih lahko določite za uporabo različnih metod ukaza in
številke so argumenti, ki jih posredujete za generiranje številskega zaporedja.Ustvari seznam številk
Argumenti naslednja sledijo spodnji vhodni obliki:
seq zadnji
seq prva zadnja
seq prvi prirastek zadnji
Ko navedete samo eno številko, jo seq razlaga kot zgornjo mejo za seznam in ustvari zaporedje, ki se začne od ene do navedene številke.
zaporedje 5
Zgoraj omenjeni ukaz bo prikazal naslednje:
1
2
3
4
5
Ko seq dobi kot vhod dve številki, jih razlaga kot spodnjo in zgornjo mejo zaporedja. Če želite ustvariti seznam številk od štirih do osmih:
naslednja 4 8
Izhod:
4
5
6
7
8
Ko pa ukazu posredujete tri številke, razlaga drugi argument kot številko prirastka. Na primer:
naslednja 3 2 13
Zgoraj omenjeni ukaz bo prikazal seznam številk, ki se začnejo od treh do 13 s povečanjem za dve.
3
5
7
9
11
13
Dodajte ločilo med številkami
Seq privzeto uporablja znak nove vrstice kot ločilo za seznam. To je razlog, zakaj je vsaka številka na seznamu v ločeni vrstici.
To privzeto vedenje lahko spremenite in uporabite ločilo po meri s pomočjo -s zastavo. Za uporabo Obdobje (.) znak kot ločilo:
seq -s. 3 7
Izhod:
3.4.5.6.7
Upoštevajte, da nekateri znaki, kot je Tilde (~) mora biti v narekovajih. To je zato, ker terminal uporablja Tilde znak za oznako /home imenik, kar bi se odražalo v izhodu, če ne dodate narekovajev.
zaporedja -s ~ 3 7
Izhod:
3 / dom / 4 / dom / 5 / dom / 6 / dom / 7
Po drugi strani pa, ko ločilo zavijete z narekovaji:
seq -s '~' 3 7
Izhod:
3~4~5~6~7
Prilagodite izhodni format
Format izhodnega zaporedja lahko spremenite tudi s pomočjo -f zastavo. Privzeto seq izvleče slog oblike iz uporabniškega vnosa. Če na primer določite številki 0,1 in 0,5, bo privzeti izhod v obliki števil s plavajočo vejico.
sek. 0,1 0,5
Izhod:
0.1
0.2
0.3
0.4
0.5
Izhodno obliko po meri lahko določite z različnimi specifikacijami pretvorbe, kot so% a,% e,% f,% g,% A,% E,% F in% G.
Lahko uporabite % f če želite, da izhod sledi formatu števil s plavajočo vejico.
sek-f% f 4 7
Izhod:
4.000000
5.000000
6.000000
7.000000
Če želite spremeniti natančnost do dveh decimalnih mest:
seq -f% 0,2f 4 7
Izhod:
4.00
5.00
6.00
7.00
Izhodne podatke lahko tudi popolnoma pretvorite z določitvijo izhodne predloge. Na primer, da dobite seznam vseh naslovov IP, ki se začnejo z 192.168.5.x:
seq -f 192.168.5.% g 1 233
Izhod:
Če želite izhodu dodati oblazinjenje, lahko uporabite -w zastavo. The -w flag ohranja širino izhoda v skladu z največjim navedenim številom.
Če želite ustvariti zaporedje števil med eno in 1.000 s prirastkom 100, pri tem pa ohranjati konstantno širino:
sek -w 1 100 1000
Izhod:
0001
0101
0201
0301
0401
0501
0601
0701
0801
0901
Poiščite pomoč za ukazno vrstico seq
Čeprav je seq enostaven za uporabo, včasih uporabniki morda čutijo potrebo po njem preverite stran z navodili za ukaz. The - pomoč zastavica bo prikazala stran strani za uporabnike:
seq --pomoč
Izhod:
Praktični primeri
Kot smo že omenili, seq uporablja predvsem z drugimi ukazi Linux, na primer touch in expr.
Izvedite matematične operacije
Če želite hitro dodati ali odšteti določen obseg števil, lahko to preprosto storite tako, da v njem uporabite seq ekspr, ki je ukaz za Linux, ki vhod obravnava kot izraz in prikaže ustrezen izhod.
Če želite dodati vse številke med eno in 100:
izraz `(seq -s" + "1 100)`
Ukaz seq ustvari izhod, kot sledi:
1 + 2 + 3 + 4 + 5 + 6...
Expr ga obravnava kot vhodni izraz in prikaže rešitev.
5050
Druge matematične operacije lahko izvajate tako, da ločilo v ukazu seq preprosto zamenjate z drugimi operatorji.
Hitro ustvarite več datotek
Če želite v Linuxu ustvariti več datotek, katerih imena sledijo podobnemu vzorcu, lahko to preprosto storite z uporabo ukaz na dotik in nasled.
Na primer, da ustvarite 10 datotek z imenom datoteka-x.txt, kje x je število od ena do 10:
dotaknite se $ (seq -f "datoteka% g.txt" 1 10)
Dotik bo bliskovito ustvaril datoteke za vas.
Implementacija seq v skripte
Razmislite, da pišete a orodje za mrežni optični bralnik, kot je Nmap v bash boste morda želeli dobiti seznam vseh odprtih vrat v omrežju. Toda za to morate pingati vsa vrata (skupaj 65535) in analizirati odziv.
Če želite prihraniti nekaj časa, lahko uporabite seq in ustvarite seznam naslovov IP in kombinacij vrat, ki jih lahko uporabite v svojem skriptu.
Predpostavimo, da želite dobiti seznam vseh vrat naprave z naslovom IP 1.2.3.4. Tu je hiter ukaz za ustvarjanje želenega izhoda:
seq -f 1.2.3.4:%g 1 65535
Izhod:
Nato lahko ta izhod uporabite kot seznam in ga prehodite, preverite vsa vrata s svojim skriptom in analizirate, ali so odprta ali ne.
Kako hitro seq generira številke?
Morda razmišljate, če lahko dosežete podobne rezultate s pomočjo zanke for v bash, zakaj bi za nalogo izbrali seq? To je zato, ker je resnična moč seq v njegovi hitrosti. Seq je hitrejši od katerega koli drugega ukaza, ki v Linuxu generira zaporedje števil.
Hitrost lahko celo preizkusite s časovnim pripomočkom v Linuxu. Poglejmo, koliko časa traja, da seq ustvari seznam z enim milijonom številk, začenši z eno.
čas zapored 1000000
Če pogledamo spodnji izhod, lahko vidite, da je trajalo le približno štiri sekunde, da se je ustvaril seznam z enim milijonom številk.
Moč ukazne vrstice Linuxa
Seq ni edino orodje v Linuxu, ki se močno osredotoča na zagotavljanje hitrih in natančnih rezultatov. Medtem ko lahko ustvarite seznam številk z zanka for v bash, ni priporočljiva praksa, če upoštevamo, kako resnično hitro je seq.
Ukazna vrstica Linux vam daje več nadzora nad operacijskim sistemom in njegovimi funkcionalnostmi, kar je tudi razlog, zakaj bi morali danes uporabiti terminal prek GUI-ja.
Linuxova ukazna vrstica je zelo uspešna, ko gre za zmogljivost, nadzor in enostavnost uporabe.
Preberite Naprej
- Linux
Deepesh je mlajši urednik za Linux pri MUO. Na internetu že več kot 3 leta piše informativne vsebine. V prostem času uživa v pisanju, poslušanju glasbe in igranju kitare.
Naročite se na naše novice
Pridružite se našemu glasilu za tehnične nasvete, preglede, brezplačne e-knjige in ekskluzivne ponudbe!
Še en korak…!
Potrdite svoj e-poštni naslov v e-poštnem sporočilu, ki smo vam ga pravkar poslali.