Operētājsistēmā Linux varat atrast vairākas komandas ar neparastām funkcijām. Viena šāda komanda ir seq, kas izvada skaitļu secību atkarībā no norādītajiem argumentiem.

Bet ko jūs, iespējams, varat darīt ar komandrindas utilītu, kas jums iemet virkni ciparu? Jūs to uzzināsiet šajā rokasgrāmatā.

Kas ir seq komanda?

Kā jau minēts iepriekš, seq komanda Linux ātri ģenerē ciparu rakstzīmju secību. Lietotāji var nodot komandai argumentus, lai ģenerētu dažādas skaitļu kombinācijas. Piemēram, jūs varat iegūt palielinātu sarakstu, vienkārši nododot papildu argumentu sek.

Kāds ir komandas praktiskais pielietojums? Lai gan seq kopumā nešķiet spēcīgs rīks, jūs varat gūt labumu no komandas, ieviešot to ar citiem Linux utilītiem. Varat arī izmantot sek bash skripti lai atklātu tā patieso spēku.

Kā lietot seq Linux

Seq prasa tikai dažus argumentus, kas padara to par viegli apgūstamu rīku ikvienam.

Pamata sintakse

Komandas pamata sintakse ir:

seq opciju numuri

... kur iespējas ir karodziņi, kurus varat norādīt, lai izsauktu dažādas komandas un

instagram viewer
numuri ir argumenti, kurus jūs nododat, lai ģenerētu skaitlisko secību.

Izveidojiet numuru sarakstu

Argumenti Seq seko ievades formātam, kas norādīts zemāk:

sek pēdējais
sek pirmais pirmais
seq pirmais pieaugums pēdējais

Norādot tikai vienu numuru, seq to interpretē kā saraksta augšējo robežu un ģenerē secību, sākot no viena līdz norādītajam skaitlim.

5. sek

Iepriekš minētā komanda izdos sekojošo:

1
2
3
4
5

Kad seq saņem divus skaitļus kā ievadi, tas tos interpretē kā secības apakšējo un augšējo robežu. Lai izveidotu numuru sarakstu no četriem līdz astoņiem:

sekojums 4 8

Izeja:

4
5
6
7
8

Bet, nododot komandai trīs skaitļus, tā otro argumentu interpretē kā pieauguma skaitli. Piemēram:

sekojums 3 2 13

Iepriekš minētā komanda izdos skaitļu sarakstu, sākot no trim līdz 13 ar pieaugumu diviem.

3
5
7
9
11
13

Starp skaitļiem pievienojiet atdalītāju

Pēc noklusējuma seq kā saraksta atdalītāju izmanto newline rakstzīmi. Tas ir iemesls, kāpēc katrs skaitlis sarakstā atrodas atsevišķā rindā.

Varat mainīt šo noklusējuma uzvedību un izmantot pielāgoto atdalītāju, izmantojot -s karogu. Lai izmantotu Periods (.) rakstzīmi kā atdalītāju:

sek. -s. 3 7

Izeja:

3.4.5.6.7

Paturiet prātā, ka dažām rakstzīmēm patīk Tilde (~) jāievieto pēdiņās. Tas ir tāpēc, ka terminālis izmanto Tilde raksturs, lai apzīmētu /home direktorijā, un tas atspoguļosies izvadē, ja nepievienosiet pēdiņas.

seq -s ~ 3 7

Izeja:

3 / mājas / 4 / mājas / 5 / mājas / 6 / mājas / 7

No otras puses, iesaiņojot atdalītāju ar pēdiņām:

seq -s '~' 3 7

Izeja:

3~4~5~6~7

Pielāgojiet izvades formātu

Varat arī mainīt izvades secības formātu, izmantojot -f karogu. Pēc noklusējuma seq izvelk formāta stilu no lietotāja ievades. Piemēram, ja norādāt skaitļus 0,1 un 0,5, noklusējuma izvadei būs peldošā komata skaitļu formāts.

sek 0,1 0,1

Izeja:

0.1
0.2
0.3
0.4
0.5

Varat norādīt pielāgotu izvades formātu, izmantojot dažādas reklāmguvumu specifikācijas, piemēram,% a,% e,% f,% g,% A,% E,% F un% G.

Jūs varat izmantot % f Specifikators, ja vēlaties, lai izvadam būtu peldošā komata skaitļu formāts.

seq-f% f 4 7

Izeja:

4.000000
5.000000
6.000000
7.000000

Lai mainītu precizitāti līdz diviem cipariem aiz komata:

sek. -f% 0.2f 4 7

Izeja:

4.00
5.00
6.00
7.00

Varat arī pilnībā pārveidot izvadi, norādot izvades veidni. Piemēram, lai iegūtu visu sākto IP adrešu sarakstu 192.168.5.x:

sek. -f 192.168.5.% g 1 233

Izeja:

Lai izvadei pievienotu polsterējumu, varat izmantot -w karogu. The -w flag saglabā izejas platumu saskaņā ar lielāko norādīto skaitu.

Lai izveidotu skaitļu secību no viena līdz 1000 ar pieaugumu 100, vienlaikus saglabājot nemainīgu platumu:

seq -w 1 100 1000

Izeja:

0001
0101
0201
0301
0401
0501
0601
0701
0801
0901

Saņemiet sekojošo komandrindas palīdzību

Lai gan seq ir viegli lietojams, dažreiz lietotāji var justies vajadzīgi pārbaudiet komandas rokasgrāmatas lapu. The --palīdzēt karodziņā tiks parādīta seq man lapa:

sek - palīdzība

Izeja:

Praktiski piemēri

Kā jau minēts, seq galvenokārt tiek izmantots kopā ar citām Linux komandām, piemēram, touch un expr.

Veikt matemātiskās darbības

Ja vēlaties ātri pievienot vai atņemt noteiktu skaitļu diapazonu, to var izdarīt viegli, izmantojot seko iekšpusē izteikt, kas ir Linux komanda, kas izturas pret ievadi kā izteiksmi un parāda atbilstošo izeju.

Lai pievienotu visus skaitļus no viena līdz 100:

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

Seq komanda ģenerē šādu izvadi:

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

Expr to traktē kā ievades izteiksmi un izvada risinājumu.

5050

Jūs varat veikt citas matemātiskas darbības, vienkārši aizstājot atdalītāju komandā seq ar citiem operatoriem.

Ātri izveidojiet vairākus failus

Ja vēlaties Linux izveidot vairākus failus, kuru nosaukumi atbilst līdzīgam paraugam, to varat izdarīt viegli, izmantojot pieskāriena komandu un sekojošie

Piemēram, lai izveidotu 10 failus ar nosaukumu file-x.txt, kur x ir skaitlis no viena līdz 10:

pieskarieties $ (seq -f "fails% g.txt" 1 10)

Pieskaroties, ātri izveidosiet failus jums.

Seq ieviešana skriptos

Apsveriet, vai rakstāt a tīkla skenera rīks, piemēram, Nmap bash, iespējams, vēlēsities iegūt visu tīkla atvērto portu sarakstu. Bet, lai to izdarītu, jums jāapvieno katrs ports (kopā 65535) un jāanalizē atbilde.

Lai ietaupītu laiku, varat izvēlēties izmantot seq un ģenerēt to IP adrešu un portu kombināciju sarakstu, kuras varat izmantot savā skriptā.

Pieņemsim, ka vēlaties iegūt visu ierīces portu sarakstu ar IP adresi 1.2.3.4. Šeit ir ātra komanda, lai ģenerētu vēlamo rezultātu:

sek. -f 1.2.3.4:%g 1 65535

Izeja:

Pēc tam jūs varat izmantot šo izvadi kā sarakstu un šķērsot to, pārbaudot katru portu, izmantojot savu skriptu, un analizējot, vai tas ir atvērts vai nav.

Cik ātri seq ģenerē skaitļus?

Jūs varētu domāt, ja jūs varat sasniegt līdzīgus rezultātus, izmantojot for loop in bash, kāpēc uzdevumam izvēlēties seku? Tas ir tāpēc, ka seq reālā vara slēpjas tā ātrumā. Seq ir ātrāks nekā jebkura cita komanda, kas ģenerē skaitļu secību Linux.

Jūs pat varat pārbaudīt tā ātrumu, izmantojot laika utilītu Linux. Apskatīsim, cik daudz laika prasa secības, lai izveidotu miljona numuru sarakstu, sākot no viena.

laika secība 1000000

Aplūkojot zemāk redzamo izvadi, jūs varat redzēt, ka viena miljona numuru saraksta izveidošanai bija nepieciešamas tikai četras sekundes.

Linux komandrindas jauda

Seq nav vienīgais Linux rīks, kas koncentrējas uz ātru un precīzu rezultātu sniegšanu. Kamēr jūs varat izveidot numuru sarakstu, izmantojot a cilpa bash, tā nav ieteicama prakse, ņemot vērā to, cik patiesībā degošs ir ātri.

Linux komandrinda ļauj labāk kontrolēt operētājsistēmu un tās funkcijas, un tas ir arī iemesls, kāpēc jums vajadzētu sākt izmantot termināli, izmantojot GUI jau šodien.

E-pasts
5 iemesli izvēlēties Linux termināli, nevis GUI

Linux komandrindai ir liela nozīme veiktspējas, vadības un lietošanas ērtuma ziņā.

Lasiet Tālāk

Saistītās tēmas
  • Linux
Par autoru
Deepesh Sharma (Publicēti 65 raksti)

Deepesh ir MUO Linux jaunākais redaktors. Viņš ir rakstījis informatīvo saturu internetā vairāk nekā 3 gadus. Brīvajā laikā viņam patīk rakstīt, klausīties mūziku un spēlēt ģitāru.

Vairāk no Deepesh Sharma

Abonējiet mūsu biļetenu

Pievienojieties mūsu informatīvajam izdevumam par tehniskiem padomiem, atsauksmēm, bezmaksas e-grāmatām un ekskluzīviem piedāvājumiem!

Vēl viens solis !!!

Lūdzu, apstipriniet savu e-pasta adresi e-pastā, kuru tikko nosūtījām.

.