Ce guide vous montrera comment utiliser la commande seq pour générer des listes de nombres dans le terminal Linux.
Syntaxe de base de la commande Seq
Imaginez que vous vouliez afficher les chiffres 1 à 20 à l'écran.
La commande seq suivante vous montre comment procéder:
seq 1 20
En soi, cette commande est assez inutile. À tout le moins, vous voudrez sortir les numéros dans un fichier.
Vous pouvez le faire en utilisant la commande cat comme suit:
seq 1 20 | chat> fichier numéroté
Vous aurez maintenant un fichier appelé numberedfile avec les numéros 1 à 20 imprimés sur chaque ligne.
La méthode que nous avons montrée jusqu'ici pour afficher une séquence de nombres aurait pu être condensée comme suit:
seq 20
Le numéro de départ par défaut est 1; il suffit donc d'indiquer le nombre 20 pour que la commande seq compte automatiquement entre 1 et 20.
Vous ne devez utiliser le format long que si vous souhaitez compter entre deux nombres différents comme suit:
seq 35 45
Cela affichera les nombres de 35 à 45 sur la sortie standard.
Comment définir un incrément à l'aide de la commande Seq
Si vous souhaitez afficher tous les nombres pairs compris entre 1 et 100, vous pouvez utiliser la partie incrémentation de seq à l'étape 2 chiffres à la fois, comme le montre l'exemple suivant:
seq 2 2 100
Dans la commande ci-dessus, le premier nombre est le point de départ.
Le deuxième nombre est le nombre à incrémenter à chaque étape, par exemple 2 4 6 8 10.
Le troisième nombre est le dernier nombre à compter.
Mise en forme de la commande Seq
Envoyer simplement des numéros à l'écran ou à un fichier n'est pas particulièrement utile.
Cependant, vous souhaiterez peut-être créer un fichier avec toutes les dates du mois de mars.
Pour ce faire, vous pouvez utiliser le commutateur suivant:
seq -f "% 02g / 03/2016" 31
Cela affichera une sortie similaire à celle-ci:
- 01/03/2016
- 02/03/2016
- 03/03/2016
Vous remarquerez le% 02g. Il existe trois formats différents: e, f et g.
Comme exemple de ce qui se passe lorsque vous utilisez ces différents formats, essayez les commandes suivantes:
La sortie du% e est la suivante: La sortie du% f est la suivante: Enfin, la sortie de% g est la suivante: Vous pouvez utiliser la commande seq dans le cadre d'une boucle for pour parcourir le même code plusieurs fois. Par exemple, vous souhaitez afficher le terme "bonjour le monde" dix fois. Voici comment vous pouvez le faire: Par défaut, la commande seq affiche chaque numéro sur une nouvelle ligne. Cela peut être changé pour être n'importe quel caractère de délimitation que vous souhaitez utiliser. Par exemple, si vous souhaitez utiliser une virgule pour séparer les nombres, utilisez la syntaxe suivante: Si vous préférez utiliser un espace, vous devez le mettre entre guillemets: Lorsque vous écrivez les numéros dans un fichier, vous pourriez être contrarié de voir que les nombres sont d'une longueur différente. Par exemple: Vous pouvez faire tous les nombres la même longueur comme suit: Lorsque vous exécutez la commande ci-dessus, le résultat sera le suivant: Vous pouvez afficher les numéros dans une séquence dans l'ordre inverse. Par exemple, si vous souhaitez afficher les nombres 10 à 1, vous pouvez utiliser la syntaxe suivante: Vous pouvez également utiliser la commande sequence pour travailler sur des nombres à virgule flottante. Par exemple, si vous souhaitez afficher tous les nombres compris entre 0 et 1 avec un pas de 0,1, procédez comme suit: La commande seq est plus utile lorsqu'elle est utilisée dans un script bash.seq -f "% e" 1 0.5 3
seq -f "% f" 1 0,5 3seq -f "% g" 1 0,5 3
Utilisation de la commande Seq dans le cadre d'une boucle for
pour i en $ (seq 10)
faireecho "bonjour le monde"terminé Changer le séparateur de séquence
seq -s, 10
seq -s "" 10
Faire les numéros de séquence de la même longueur
seq -w 10000
Affichage des numéros en ordre inverse
seq 10 -1 1
Nombres à virgule flottante
seq 0 0.1 1
Résumé