Linuxista löytyy useita epätavallisilla toiminnoilla varustettuja komentoja. Yksi tällainen komento on seq, joka antaa numerosarjan määritetyistä argumenteista riippuen.
Mutta mitä voit tehdä komentorivityökalulla, joka heittää joukon numeroita sinulle? Löydät tämän oppaan.
Mikä on seq-komento?
Kuten yllä mainittiin, seq-komento Linuxissa luo nopeasti sarjan numeromerkkejä. Käyttäjät voivat välittää argumentteja komennolle eri numeroyhdistelmien luomiseksi. Voit esimerkiksi saada kasvavan luettelon yksinkertaisesti välittämällä ylimääräisen argumentin seq.
Mikä on komennon käytännöllinen käyttö? Vaikka seq ei ehkä tunnu tehokkaalta työkalulta kokonaisuudessaan, voit hyötyä komennosta toteuttamalla sen muiden Linux-apuohjelmien kanssa. Voit käyttää myös seq in bash-komentosarjat paljastaa sen todellinen voima.
Kuinka käyttää seq Linuxissa
Seq vie vain muutaman argumentin, mikä tekee siitä helposti opittavan työkalun kenellekään.
Perussyntaksi
Komennon perussyntaksi on:
seq optioiden numerot
...missä vaihtoehtoja ovat liput, jotka voit määrittää kutsumaan komennon ja numerot ovat argumentit, jotka välität numerosarjan luomiseksi.
Luo luettelo numeroista
Seq-argumentit noudattavat seuraavaa syöttömuotoa:
viimeinen
seq ensimmäinen viimeinen
seq ensimmäinen lisäys viimeinen
Kun määrität vain yhden numeron, seq tulkitsee sen luettelon ylärajaksi ja luo sarjan alkaen yhdestä määritettyyn numeroon.
jakso 5
Edellä mainittu komento tuottaa seuraavat:
1
2
3
4
5
Kun seq vastaanottaa kaksi numeroa syötteenä, se tulkitsee ne sekvenssin alarajaksi ja ylärajaksi. Luodaksesi luettelon neljästä kahdeksaan:
jakso 4 8
Tuotos:
4
5
6
7
8
Mutta kun välität komennolle kolme numeroa, se tulkitsee toisen argumentin kasvunumeroksi. Esimerkiksi:
jakso 3 2 13
Edellä mainittu komento antaa luettelon numeroista, jotka alkavat kolmesta 13: een kahden lisäyksin.
3
5
7
9
11
13
Lisää erotin numeroiden väliin
Oletusarvoisesti seq käyttää uuden rivin merkkiä luettelon erottimena. Tästä syystä luettelon kukin numero on erillisellä rivillä.
Voit muuttaa tätä oletuskäyttäytymistä ja käyttää mukautettua erotinta käyttämällä -s lippu. Voit käyttää Aika (.) merkki erottimena:
seq -s. 3 7
Tuotos:
3.4.5.6.7
Muista, että jotkut merkit pitävät Tilde (~) tulee olla lainausmerkeissä. Tämä johtuu siitä, että pääte käyttää Tilde merkki merkitsemään /home hakemisto, ja se heijastuu tulosteessa, jos et lisää lainauksia.
seq -s ~ 3 7
Tuotos:
3 / koti / 4 / koti / 5 / koti / 6 / koti / 7
Toisaalta, kun erotat erotin lainausmerkeillä:
seq -s '~' 3 7
Tuotos:
3~4~5~6~7
Säädä tulostusmuotoa
Voit myös muuttaa tulosekvenssin muodon käyttämällä -f lippu. Oletuksena seq poimii muotoilutyylin käyttäjän syötteestä. Jos esimerkiksi määrität numerot 0,1 ja 0,5, oletuslähdöllä on liukulukuinen muoto.
sek 0,1 0,1
Tuotos:
0.1
0.2
0.3
0.4
0.5
Voit määrittää mukautetun tulostusmuodon käyttämällä erilaisia muunnosmäärityksiä, kuten% a,% e,% f,% g,% A,% E,% F ja% G.
Voit käyttää % f määrittelijä, jos haluat, että tulos seuraa liukulukujen muotoa.
seq-f% f 4 7
Tuotos:
4.000000
5.000000
6.000000
7.000000
Tarkkuuden muokkaaminen enintään kahden desimaalin tarkkuudella:
seq -f% 0,2f 4 7
Tuotos:
4.00
5.00
6.00
7.00
Voit myös muuntaa lähdön kokonaan määrittämällä tulostemallin. Esimerkiksi, jos haluat saada luettelon kaikista IP-osoitteista, jotka alkavat 192.168.5.x:
seq -f 192,168,5.% g 1 233
Tuotos:
Voit lisätä täytteen ulostuloon käyttämällä -w lippu. -w flag ylläpitää lähdön leveyttä määritetyn suurimman lukumäärän mukaisesti.
Yhden ja tuhannen välisen numerosarjan luominen 100: n lisäyksellä pitäen vakio leveys:
seq -w 1 100 1000
Tuotos:
0001
0101
0201
0301
0401
0501
0601
0701
0801
0901
Hanki seq komentorivin apua
Vaikka seq on helppokäyttöinen, joskus käyttäjät saattavat tuntea tarpeen tarkista komento manuaaliselta sivulta. --auta lippu näyttää seq-man-sivun:
seq --apu
Tuotos:
Käytännön esimerkkejä
Kuten jo mainittiin, seq-tiedostoa käytetään ensisijaisesti muiden Linux-komentojen kanssa, esimerkiksi touch ja expr.
Suorita matemaattisia operaatioita
Jos haluat lisätä tai vähentää nopeasti tietyn numeroalueen, voit tehdä sen helposti käyttämällä sekvenssiä sisällä lauseke, joka on Linux-komento, joka käsittelee syötettä lausekkeena ja näyttää vastaavan tuloksen.
Kaikkien numeroiden lisääminen yhden ja 100 välillä:
lauseke `(seq -s" + "1100)"
Seq-komento tuottaa lähdön seuraavasti:
1 + 2 + 3 + 4 + 5 + 6...
Expr käsittelee sitä syötteen lausekkeena ja tuottaa ratkaisun.
5050
Voit suorittaa muita matemaattisia toimintoja yksinkertaisesti korvaamalla seq-komennon erotimen muilla operaattoreilla.
Luo nopeasti useita tiedostoja
Jos haluat luoda useita tiedostoja Linuxissa, joiden nimet noudattavat samanlaista mallia, voit tehdä sen helposti käyttämällä kosketus komento ja sitä seuraavat
Voit esimerkiksi luoda 10 tiedostoa nimellä tiedosto-x.txt, missä x on luku yhdestä kymmeneen:
kosketa $ (seq -f "tiedosto% g.txt" 1 10)
Kosketa luoda tiedostot puolestasi.
Seq: n käyttöönotto skripteissä
Harkitse, että kirjoitat a verkkoskannerityökalu, kuten Nmap bashissa saatat haluta saada luettelon kaikista verkon avoimista porteista. Mutta sitä varten sinun on pingattava jokainen portti (yhteensä 65535) ja analysoitava vastaus.
Voit säästää aikaa valitsemalla seq ja luomalla luettelon IP-osoitteista ja porttiyhdistelmistä, joita voit käyttää komentosarjassa.
Oletetaan, että haluat saada luettelon kaikista laitteen porteista, joissa on IP-osoite 1.2.3.4. Tässä on nopea komento halutun tuotoksen luomiseksi:
seq -f 1.2.3.4:%g 1 65535
Tuotos:
Tämän jälkeen voit käyttää tätä lähtöä luettelona ja selata sitä läpi, tarkistamalla jokaisen portin komentosarjosi avulla ja analysoimalla, onko se auki.
Kuinka nopeasti seq luo numerot?
Saatat ajatella, jos voit saavuttaa samanlaisia tuloksia käyttämällä for loop -sarjaa bashissa, miksi valita tehtäväksi sek Tämä johtuu siitä, että sekvenssin todellinen voima on sen nopeudessa. Seq on nopeampi kuin mikään muu komento, joka luo numerosarjan Linuxissa.
Voit jopa testata sen nopeutta Linuxin aikaohjelmalla. Katsotaanpa, kuinka kauan seq kestää miljoonan numeron luettelon luomisen yhdestä alkaen.
ajanjakso 1000000
Kun tarkastelet alla olevaa lähtöä, näet, että miljoonan numeron luettelon luominen kesti vain noin neljä sekuntia.
Linux-komentorivin voima
Seq ei ole ainoa Linuxin työkalu, joka keskittyy voimakkaasti nopeiden ja tarkkojen tulosten tuottamiseen. Vaikka voit luoda luettelon numeroista a silmukka bash, se ei ole suositeltava käytäntö, kun otetaan huomioon, kuinka nopeasti seq on todella.
Linux-komentorivi antaa sinulle paremman hallinnan käyttöjärjestelmään ja sen toimintoihin, mikä on myös syy, miksi sinun pitäisi aloittaa päätelaitteen käyttö käyttöliittymän kautta jo tänään.
Linux-komentorivillä on korkea suorituskyky, hallinta ja helppokäyttöisyys.
Lue seuraava
- Linux
Deepesh on MUO: n nuorempi toimittaja Linuxille. Hän on kirjoittanut tietosisältöä Internetissä yli 3 vuotta. Vapaa-ajallaan hän nauttii kirjoittamisesta, musiikin kuuntelusta ja kitaransoitosta.
Tilaa uutiskirjeemme
Liity uutiskirjeeseemme, jossa on teknisiä vinkkejä, arvosteluja, ilmaisia e-kirjoja ja erikoistarjouksia!
Vielä yksi askel !!!
Vahvista sähköpostiosoitteesi juuri lähettämässäsi sähköpostiviestissä.