Bash Range: kuidas korrata kestal loodud järjestusi

Bash Range How Iterate Over Sequences Generated Shell



Saate numbrite jada bash -is korrata kahel viisil. Üks on kasutades järg käsk ja teine ​​on tsükli vahemiku määramine. Sisse järg käsku, jada algab ühest, arv suureneb igal sammul ühe võrra ja prindib iga rea ​​iga numbri kuni ülempiirini vaikimisi. Kui number algab ülemisest piirist, väheneb see igal sammul ühe võrra. Tavaliselt tõlgendatakse kõiki numbreid ujukoma, kuid kui jada algab täisarvust, prinditakse kümnendarvude loend. Kui käsku seq saab edukalt täita, tagastab see 0, vastasel juhul tagastab mis tahes nullist erineva arvu. Samuti saate numbrite jada itereerida vahemikuga silmuse abil. Mõlemad järg käsku ja silmust koos vahemikuga näidatakse selles õpetuses näidete abil.

Käsu seq valikud:

Sa võid kasutada järg käsku, kasutades järgmisi valikuid.







-sisse

Seda suvandit kasutatakse numbrite täitmiseks nullidega, et printida kõik võrdse laiusega numbrid.



-f -vormingus

Seda suvandit kasutatakse konkreetse vorminguga numbri printimiseks. Ujuva arvu saab vormindada, kasutades konversioonimärkidena %f, %g ja %e. Vaikimisi kasutatakse %g.



-s string

Seda suvandit kasutatakse numbrite eraldamiseks stringiga. Vaikeväärtus on uus rida („ n”).





Näited käsust seq:

Seq käsku saate rakendada kolmel viisil. Iga sammu suurendamise või vähendamise väärtusega saate kasutada ainult ülemist piiri või ülemist ja alumist piiri või ülemist ja alumist piiri. Järgmistes näidetes on näidatud käsu seq erinevaid kasutusvõimalusi koos valikutega.

Näide-1: käsk seq ilma suvandita

Kui kasutatakse ainult ülempiiri, algab number 1 -st ja suureneb iga sammu võrra ühe võrra. Järgmine käsk prindib numbri 1 kuni 4.



$järg 4

Väljund:

Kui kahte väärtust kasutatakse käsuga seq, kasutatakse esimest väärtust lähtearvuna ja teist väärtust lõpunumbrina. Järgmine käsk prindib numbri 7 kuni 15.

$järg 7 viisteist

Väljund:

Kui kasutate käsuga seq kolme väärtust, kasutatakse teist sammu iga sammu suurendamise või vähendamise väärtusena. Järgmise käsu puhul on stardinumber 10, lõpparv 1 ja iga samm loendatakse kahandamisega 2.

$järg 10 -2 1

Väljund:

Näide-2: järjestus valikuga –w

Järgmine käsk prindib väljundi, lisades numbrile 1 kuni 9 eesmise nulli.

$järg -sisse0110

Väljund:

Näide-3: järjestus valikuga –s

Järgmine käsk kasutab - iga järjenumbri eraldajana. Numbrite jada prinditakse, lisades - eraldajaks.

$järg -s-8

Väljund:

Näide -4: seq valikuga -f

Järgmine käsk prindib 10 kuupäeva väärtust alates 1. Siin kasutatakse suvandit %g, et lisada järjekorranumber koos muu stringiväärtusega.

$järg -f „%g/04/2018” 10

väljund:

Bash Range

Ujuva numbri jada genereerimiseks, kasutades %f, kasutatakse järgmist käsku. Siin algab number 3 -st ja suureneb igal sammul 0,8 võrra ning viimane number on väiksem või võrdne 6 -ga.

$järg -f '%f' 3 0.8 6

Väljund:

Näide-5: kirjutage jada faili

Kui soovite numbrijada salvestada faili ilma konsooli printimata, saate kasutada järgmisi käske. Esimene käsk prindib numbrid faili nimega jrg. txt . See arv genereeritakse 5 kuni 20 ja suureneb igal sammul 10 võrra. Teist käsku kasutatakse sisu vaatamiseks jrg. txt faili.

$ 5 10 20 | kass> järj.txt
$ cat seq.txt

Väljund:

Näide-6: seq in kasutamine silmuse jaoks

Oletame, et soovite luua faile nimega fn1 kuni fn10, kasutades tsüklit järjestusega. Looge fail nimega sq1.bash ja lisage järgmine kood. Loop kordab 10 korda käsu seq abil 10 korda ja loob 10 faili järjestuses fn1, fn2, fn3… ..fn10.

#!/bin/bash
eestisisse ''järg 10''
teha
puudutadafn.$ i
tehtud

Väljund:

Käivitage järgmised käsud bash -faili koodi täitmiseks ja kontrollige, kas failid on loodud või mitte.

$löömasq1.bash
$ls

Vahemikuga silmuste näited:

Näide-7: vahemikuga vahemiku jaoks

Seq käsu alternatiiv on vahemik. Saate kasutada silmuse vahemikku, et genereerida numbrite jada, nagu järjestus. Kirjutage järgmine kood bash -faili nimega sq2.bash . Silmus kordab 5 korda ja prindib iga sammu ruutjuure.

#!/bin/bash
eestnsisse {1..5}
teha
((tulemus= n*n))
viskas välja $ n ruut=$ tulemus
tehtud

Väljund:

Faili skripti täitmiseks käivitage käsk.

$löömasq2.bash

Näide-8: vahemiku ja juurdekasvu väärtusega silmuse jaoks

Vaikimisi suurendatakse numbrit vahemiku igas etapis ühe võrra, näiteks järjest. Samuti saate vahemiku juurdekasvu väärtust muuta. Kirjutage järgmine kood bash -faili nimega sq3.bash . Skripti for -tsükkel kordub 5 korda, iga sammu suurendatakse 2 võrra ja prinditakse paaritu arv vahemikku 1 kuni 10.

#!/bin/bash
viskas välja 'kõik paaritud numbrid 1 kuni 10 on'
eestisisse {1..10..2}
teha
viskas välja $ i;
tehtud

Väljund:

Faili skripti täitmiseks käivitage käsk.

$löömasq3.bash

Kui soovite töötada numbrijadaga, saate kasutada mis tahes selles juhendis näidatud suvandeid. Pärast selle õpetuse lõpuleviimist saate oma bash -skriptis tõhusamalt kasutada käsku seq ja loop with range.