Gamme de bash

Gamme de bash
Vous pouvez itérer la séquence de nombres en bash de deux manières. L'un est en utilisant le som Commande, et une autre est en spécifiant la plage pour Loop. Dans le seq Commande, la séquence commence à partir d'un, le nombre incréments de un à chaque étape et imprime chaque nombre dans chaque ligne jusqu'à la limite supérieure par défaut. Si le nombre commence à partir de la limite supérieure, alors elle diminue une à chaque étape. Normalement, tous les nombres sont interprétés comme un point flottant, mais si la séquence commence à partir d'un entier, les entiers décimaux imprimeront. Si la commande SEQ peut s'exécuter avec succès, il renvoie 0; Sinon, il renvoie un numéro non nul. Vous pouvez également itérer la séquence de nombres en utilisant pour Loop avec la plage. Les deux som La commande et pour la boucle avec plage sont affichées dans ce tutoriel en utilisant des exemples.

Les options de la commande SEQ:

Vous pouvez utiliser le seq Commande en utilisant les options suivantes.
-w

Cette option est utilisée pour remplir les nombres avec des zéros principaux pour imprimer tous les nombres avec une largeur égale.
-format F

Cette option est utilisée pour imprimer des numéros dans un format particulier. Le nombre flottant peut être formaté en utilisant% F,% G et% E comme caractères de conversion. % g est utilisé par défaut.
-S String

Cette option est utilisée pour séparer les nombres avec une chaîne. La valeur par défaut est une nouvelle ligne ('\ n').

Exemples de commande SEQ:

Vous pouvez appliquer la commande SEQ de trois manières. Vous pouvez utiliser uniquement la limite supérieure ou la limite supérieure et la limite inférieure ou la limite supérieure et inférieure avec l'incrément ou la valeur de décrémentation de chaque étape. Différentes utilisations de la commande SEQ avec des options sont affichées dans les exemples suivants.

Exemple-1: commande SEQ sans l'option

Lorsque la seule limite supérieure est utilisée, le nombre commencera à partir de 1 et augmentera un à chaque étape. La commande suivante imprimera le numéro de 1 à 4.

$ SEQ 4

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Lorsque les deux valeurs sont utilisées avec la commande SEQ, la première valeur sera utilisée comme numéro de départ, et la deuxième valeur sera utilisée comme numéro de fin. La commande suivante imprimera le numéro de 7 à 15.

$ SEQ 7 15

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Lors de l'utilisation de trois valeurs avec la commande SEQ, la deuxième valeur sera utilisée comme une valeur d'incrément ou de décrémentation pour chaque étape. Pour la commande suivante, le numéro de départ est de 10, le numéro de fin est 1 et chaque étape sera comptée par la diminution de 2.

$ SEQ 10 -2 1

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Exemple-2: Option SEQ avec -W

La commande suivante imprimera la sortie en ajoutant un zéro leader pour le nombre de 1 à 10.

$ seq -w 01 10

Sortir:

La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Exemple-3: option SEQ avec -s

La commande suivante utilise «-« comme séparateur pour chaque numéro de séquence. La séquence de nombres sera imprimée en ajoutant «-« comme séparateur.

$ seq -s - 8

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Exemple-4: option SEQ avec -f

La commande suivante imprimera 10 valeurs de date à partir de 1. Ici, l'option «% G» est utilisée pour ajouter des nombres de séquence avec d'autres valeurs de chaîne.

$ seq -f "% g / 04/2018" 10

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

La commande suivante est utilisée pour générer la séquence de nombres à virgule flottante en utilisant «% f». Ici, le nombre commencera à partir de 3 et incrément de 0.8 à chaque étape, et le dernier nombre sera inférieur ou égal à 6.

$ seq -f "% f" 3 0.8 6

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Exemple-5: Écrivez la séquence dans un fichier

Si vous souhaitez enregistrer la séquence de nombres dans un fichier sans imprimer dans la console, vous pouvez utiliser les commandes suivantes. La première commande imprimera les numéros dans un fichier nommé "som.SMS". Le nombre générera de 5 à 20 et augmente de 10 à chaque étape. La deuxième commande imprimera le contenu du «som.SMS»Fichier dans le terminal.

$ seq 5 10 20 | Cat> SEQ.SMS
$ Cat Seq.SMS

Sortir:
La sortie suivante apparaîtra après avoir exécuté la commande ci-dessus.

Exemple-6: utilisation de 'SEQ' pour créer le nom de fichier

Supposons que vous souhaitiez créer des fichiers nommés FN1 à FN10 en utilisant pour Loop avec SEQ. Créer un fichier nommé «SQ1.bash »et ajouter le code suivant. Pour la boucle, il ira 10 fois en utilisant la commande 'SEQ' et créez 10 fichiers dans la séquence FN1, FN2, FN3… FN10.

#!/ bac / bash
# Générer 10 numéros de séquence
pour je dans 'SEQ 10'
faire
# Créez le nom de fichier
toucher fn $ i
fait

Exécutez les commandes suivantes pour exécuter le code du fichier bash et vérifier si les fichiers sont créés ou non.

$ bash SQ1.frapper
$ ls

Sortir:
La sortie suivante apparaîtra après avoir exécuté les commandes ci-dessus.

Exemples de boucle pour la gamme:

L'alternative de la commande «seq» est la gamme. Vous pouvez utiliser la plage de la boucle pour générer la séquence de nombres comme «SEQ». L'expression de la plage est définie en utilisant des supports bouclés et des points doubles. La syntaxe de l'expression de la plage est indiquée ci-dessous.

Syntaxe:

Start… arrêter [… incrément]

Ici, la valeur du Commencer et Arrêt peut être n'importe quel entier ou caractère positif. Ces valeurs sont obligatoires pour définir l'expression de la plage et séparées par des points doubles. La valeur du Incrément peut être n'importe quel entier positif ou négatif, et il est facultatif. Cette valeur est définie après le Arrêt valeur avec des points doubles. Différentes utilisations de l'expression de la plage ont montré dans les exemples suivants.

Exemple-7: Utilisation de la plage avec des valeurs de démarrage et d'arrêt

Créer un fichier bash nommé "SQ2.frapper»Avec le code suivant. La boucle iratera 5 fois et imprimera la racine carrée de chaque numéro dans chaque itération.

#!/ bac / bash
# Générer la série de nombres de 1 à 5
pour n dans 1… 5
faire
# Calculez la racine carrée
((résultat = n * n))
# Imprime la valeur carrée
Echo $ n carré = $ résultat
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ2.frapper

Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.

Exemple-8: Utilisation de la plage avec une valeur d'incrément positive

Par défaut, le nombre est incrément de un dans chaque étape d'une plage comme SEQ. Vous pouvez également modifier la valeur de l'incrément dans la plage. Écrivez le code suivant dans un fichier bash nommé «SQ3.frapper". La boucle pour le script itérera 5 fois; Chaque étape est incrémentée de 2 et imprime tous les nombres impairs entre 1 et 10.

#!/ bac / bash
Echo "Tous les nombres impairs de 1 à 10 sont"
# Générer des nombres impairs de 1 à 10
pour je dans 1… 10… 2
faire
# Imprimez la valeur
Echo $ i;
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ3.frapper

Sortir:

La sortie suivante apparaîtra après avoir exécuté le script.

Exemple-9: Utilisation de la plage avec Zero leader

La séquence de nombres avec zéro leader peut être générée en utilisant également la plage. Créer un fichier bash nommé SEQ4.frapper avec le script suivant pour générer cinq nombres séquentiels avec un zéro leader de 1 à 5 en ajoutant la chaîne 'id-' à l'avant de chaque numéro.

#!/ bac / bash
Echo "Générer les valeurs d'ID:"
# Définissez la valeur de début de la plage avec un zéro leader
pour je dans 01… 5
faire
# Imprimez la valeur avec 'id-'
écho "id- $ i"
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ4.frapper

Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.

Exemple-10: Utilisation de la plage avec une valeur d'incrément négative

Créer un fichier bash nommé SEQ5.frapper avec le script suivant pour générer six nombres séquentiels dans l'ordre descendant à partir de 10 et décrémenté de 2 à chaque étape.

#!/ bac / bash
Echo "Générer des nombres uniformes dans l'ordre descendant:"
# Définissez la valeur de début de la plage avec une valeur d'incrément négative
pour je dans 10… 0… -2
faire
# Imprimez la valeur avec 'id-'
écho "la valeur est $ i"
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ5.frapper

Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.

Exemple-11: générer des nombres séquentiels avec des valeurs de caractère et de nombre

Créer un fichier bash nommé SEQ6.frapper avec le script suivant pour générer une sortie en fonction de deux valeurs de plage. La boucle extérieure générera trois caractères de A à C, et la boucle intérieure générera trois nombres de 1 à 3.

#!/ bac / bash
Echo "La série séquentielle avec alphabet et numéro:"
# Définir la gamme avec des alphabets
pour val1 dans a… c
faire
# Définissez la plage avec les nombres
pour val2 dans 01… 3
faire
# Imprimez la valeur en concrasant l'alphabet et le numéro
Echo Val1 $ Val2
fait
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ6.frapper

Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.

Exemple-12: utilisation de la gamme avec préfixe et suffixe

Créer un fichier bash nommé SEQ7.frapper avec le script suivant pour générer 5 noms de fichiers en ajoutant le préfixe et le suffixe avec la plage de nombres. Dans le script, 'profil«est la valeur du préfixe et '.PNG'est la valeur du suffixe.

#!/ bac / bash
Echo "La série de noms de fichiers est:"
# Générer cinq noms de fichiers avec l'extension «png»
pour le nom de profil 1… 5.png; faire
# Imprimez le nom de fichier
Echo "Nom de fichier: $ nom"
fait

Exécutez la commande suivante pour exécuter le script ci-dessus.

$ bash SQ7.frapper

Sortir:
La sortie suivante apparaîtra après avoir exécuté le script.

Conclusion:

Deux façons de générer la séquence de nombres ont été montrées dans ce tutoriel en utilisant plusieurs exemples. Une façon est la commande 'SEQ', et une autre façon est d'utiliser la plage avec Loop avec Loop. Les utilisateurs de Bash pourront générer efficacement la séquence de nombres après avoir pratiqué les exemples de ce tutoriel.