De opties van het seq-commando:
Je kunt gebruiken volgende commando met behulp van de volgende opties.
-in
Deze optie wordt gebruikt om de getallen met voorloopnullen op te vullen om alle getallen met dezelfde breedte af te drukken.
-f formaat
Deze optie wordt gebruikt om nummers met een bepaald formaat af te drukken. Zwevende getallen kunnen worden opgemaakt door %f, %g en %e als conversietekens te gebruiken. %g wordt standaard gebruikt.
-s tekenreeks
Deze optie wordt gebruikt om de getallen te scheiden met een string. De standaardwaarde is newline (‘ ’).
Voorbeelden van seq-opdracht:
U kunt het seq-commando op drie manieren toepassen. U kunt alleen de bovengrens of boven- en ondergrens of boven- en ondergrens gebruiken met een op- of aflopende waarde van elke stap. Verschillende toepassingen van de opdracht seq met opties worden in de volgende voorbeelden getoond.
Voorbeeld-1: seq-opdracht zonder optie
Als alleen de bovengrens wordt gebruikt, begint het getal bij 1 en wordt het bij elke stap met één verhoogd. Met de volgende opdracht wordt het nummer van 1 tot 4 afgedrukt.
$volgende 4
Uitgang:
Wanneer de twee waarden worden gebruikt met het seq-commando, wordt de eerste waarde gebruikt als startnummer en de tweede waarde als eindnummer. Met de volgende opdracht wordt het nummer van 7 tot 15 afgedrukt.
$volgende 7 vijftienUitgang:
Wanneer u drie waarden gebruikt met het seq-commando, wordt de tweede waarde gebruikt als op- of aflopende waarde voor elke stap. Voor de volgende opdracht is het startnummer 10, het eindnummer 1 en elke stap wordt geteld door te verlagen met 2.
$volgende 10 -2 1Uitgang:
Voorbeeld-2: seq met –w optie
Met de volgende opdracht wordt de uitvoer afgedrukt door een voorloopnul toe te voegen voor het getal van 1 tot 9.
$volgende -in0110Uitgang:
Voorbeeld-3: seq met –s optie
De volgende opdracht gebruikt - als scheidingsteken voor elk volgnummer. De reeks cijfers wordt afgedrukt door - als scheidingsteken toe te voegen.
$volgende -s-8Uitgang:
Voorbeeld-4: seq met -f optie
Met de volgende opdracht worden 10 datumwaarden afgedrukt vanaf 1. Hier wordt de optie %g gebruikt om een volgnummer toe te voegen aan een andere tekenreekswaarde.
$volgende -F '%g/04/2018' 10uitgang:
De volgende opdracht wordt gebruikt om de reeks van drijvende-kommagetallen te genereren met %f . Hier begint het getal bij 3 en wordt het in elke stap met 0,8 verhoogd en het laatste getal is kleiner dan of gelijk aan 6.
$volgende -F '%F' 3 0,8 6Uitgang:
Voorbeeld-5: Schrijf de reeks in een bestand
Als u de nummerreeks in een bestand wilt opslaan zonder in de console af te drukken, kunt u de volgende opdrachten gebruiken. De eerste opdracht drukt de nummers af naar een bestand met de naam volgende.txt . Het getal genereert 5 tot 20 en wordt bij elke stap met 10 verhoogd. Het tweede commando wordt gebruikt om de inhoud van te bekijken volgende.txt het dossier.
$ volgende 5 10 20 | kat > volgende.txt$ cat seq.txt
Uitgang:
Voorbeeld-6: seq in for loop gebruiken
Stel dat u bestanden met de naam fn1 tot en met fn10 wilt maken met for loop met seq. Maak een bestand met de naam sq1.bash en voeg de volgende code toe. De For-lus herhaalt 10 keer met de opdracht seq en maakt 10 bestanden in de volgorde fn1, fn2,fn3…..fn10.
#!/bin/bashvoorlin ``volgende 10``
doen
aanrakenvn.$i
gedaan
Uitgang:
Voer de volgende opdrachten uit om de code van het bash-bestand uit te voeren en controleer of de bestanden zijn gemaakt of niet.
$bashsq1.bash$ls
Voorbeelden van for-lus met bereik:
Voorbeeld-7: For-lus met bereik
Het alternatief voor het seq-commando is bereik. U kunt range in for loop gebruiken om een reeks getallen zoals seq te genereren. Schrijf de volgende code in een bash-bestand met de naam sq2.bash . De lus zal 5 keer herhalen en de vierkantswortel van elk getal in elke stap afdrukken.
#!/bin/bashvoorNin {1..5}
doen
((resultaat=n*N))
gooide uit $n vierkant=$resultaat
gedaan
Uitgang:
Voer de opdracht uit om het script van het bestand uit te voeren.
$bashsq2.bash
Voorbeeld-8: For-lus met bereik en incrementwaarde
Standaard wordt het aantal met één verhoogd in elke stap in het bereik, zoals seq. U kunt ook de verhogingswaarde in het bereik wijzigen. Schrijf de volgende code in een bash-bestand met de naam sq3.bash . De for-lus in het script wordt 5 keer herhaald, elke stap wordt met 2 verhoogd en alle oneven getallen tussen 1 en 10 worden afgedrukt.
#!/bin/bashgooide uit 'alle oneven getallen van 1 tot 10 zijn'
voorlin {1..10..2}
doen
gooide uit $i;
gedaan
Uitgang:
Voer de opdracht uit om het script van het bestand uit te voeren.
$bashsq3.bash
Als u met de getallenreeks wilt werken, kunt u een van de opties gebruiken die in deze tutorial worden getoond. Na het voltooien van deze tutorial, kun je de opdracht seq en for loop efficiënter gebruiken in je bash-script.