Parfois, vous rencontrez un outil de ligne de commande qui offre des fonctionnalités limitées en soi, mais lorsqu'il est utilisé avec d'autres outils, vous réalisez son potentiel réel. Une fois que cet outil est seq , qui imprime une séquence de nombres. Dans ce didacticiel, nous aborderons les bases de cet utilitaire de ligne de commande à l'aide d'exemples faciles à comprendre.
Mais avant de passer à cela, il convient de mentionner que tous les exemples de cet article ont été testés sur une machine Ubuntu 16.04.
Commande seq Linux
Comme déjà mentionné, la commande seq vous permet d'imprimer une séquence de nombres. Voici sa syntaxe :
seq [OPTION]... LAST
seq [OPTION]... FIRST LAST
seq [OPTION]... FIRST INCREMENT LAST
Et voici comment la page de manuel de l'outil l'explique :
Print numbers from FIRST to LAST, in steps of INCREMENT. If FIRST or
INCREMENT is omitted, it defaults to 1. That is, an omitted INCREMENT
defaults to 1 even when LAST is smaller than FIRST.
The sequence of numbers ends when the sum of the current number and
INCREMENT would become greater than LAST. FIRST, INCREMENT, and LAST
are interpreted as floating point values. INCREMENT is usually positive if
FIRST is smaller than LAST, and INCREMENT is usually negative if FIRST
is greater than LAST. FORMAT must be suitable for printing one argu?
ment of type 'double'; it defaults to %.PRECf if FIRST, INCREMENT, and
LAST are all fixed point decimal numbers with maximum precision PREC,
and to %g otherwise.
Voici quelques exemples de style Q&A qui devraient vous donner une meilleure idée du fonctionnement de la commande seq.
Q1. Comment fonctionne la commande seq ?
L'utilisation de base est très simple. Tout ce que vous avez à faire est de passer un nombre à seq, et l'outil produira en sortie des nombres allant de 1 au nombre d'entrée.
Par exemple :
seq 8
Bien sûr, vous pouvez également spécifier le numéro à partir duquel vous souhaitez que la sortie commence.
Par exemple :
seq 3 8
Movin on, vous pouvez également définir la différence incrémentielle, qui est de 1 par défaut. Par exemple, si vous souhaitez que seq imprime de 1 à 9, mais avec une différence de 2, voici comment procéder :
seq 1 2 9
Q2. Comment ajouter un séparateur ?
Si vous le souhaitez, vous pouvez également avoir un séparateur pour améliorer l'apparence de la sortie seq. Cette fonctionnalité est disponible via le -s option de ligne de commande.
Par exemple, la commande suivante prévoit d'utiliser une virgule (,) comme séparateur :
seq -s, 1 9
Q3. Comment spécifier le format de sortie ?
La commande seq vous permet d'utiliser le FORMAT à virgule flottante de style printf. Cette fonctionnalité est accessible via le -f option de ligne de commande. La page de manuel de l'outil ne contient pas beaucoup d'informations sur l'utilisation de cette option, mais la page d'informations contient les détails requis. Voici ce que dit la page d'informations :
`-f FORMAT'
`--format=FORMAT'
Print all numbers using FORMAT. FORMAT must contain exactly one
of the `printf'-style floating point conversion specifications
`%a', `%e', `%f', `%g', `%A', `%E', `%F', `%G'. The `%' may be
followed by zero or more flags taken from the set `-+#0 '', then
an optional width containing one or more digits, then an optional
precision consisting of a `.' followed by zero or more digits.
FORMAT may also contain any number of `%%' conversion
specifications. All conversion specifications have the same
meaning as with `printf'.
The default format is derived from FIRST, STEP, and LAST. If
these all use a fixed point decimal representation, the default
format is `%.Pf', where P is the minimum precision that can
represent the output numbers exactly. Otherwise, the default
format is `%g'.
Par exemple, vous pouvez utiliser cette option de la manière suivante :
seq -f "%02g" 6
Q4. Comment utiliser seq avec d'autres commandes ? (Cas d'utilisation 1)
Supposons que vous souhaitiez effectuer l'addition de certains nombres, par exemple de 111 à 121. Voici comment vous pouvez le faire en utilisant seq :
expr `seq -s " + " 111 121`
Voici la commande ci-dessus en action :
Q5. Comment utiliser seq avec d'autres commandes ? (Cas d'utilisation 2)
Supposons que vous vouliez créer un tas de nouveaux fichiers avec des noms où seule une valeur entière change. Par exemple, fichier1, fichier2, fichier3, etc. Voici comment vous pouvez le faire en utilisant seq.
touchez $(seq -f "fichier%g" 1 10)
Conclusion
Alors maintenant, vous conviendrez de l'utilité de la commande seq. Si vous parlez des options de ligne de commande offertes par Seq, il n'y a pas beaucoup de courbe d'apprentissage, juste que vous devez savoir quand et comment utiliser la commande et ses options. Nous avons couvert plusieurs cas d'utilisation ici - cela devrait suffire pour vous permettre de démarrer avec l'outil. Pour plus d'informations sur Seq, rendez-vous sur sa page de manuel.