Générer une séquence de nombre

Sous GNU/Linux, il existe une commande permettant de générer une séquence de nombre.

Il s'agit de la commande seq.

Cette commande s'utilise avec ou sans options et avec un nombre d'arguments allant de 1 à 3.

Un seul argument indique la fin de la séquence.
Deux arguments indiquent le début et la fin de la séquence.
Trois arguments indiquent le début, le pas et la fin de la séquence.

Générer une séquence simple jusqu'à 10 :

$ seq 10
1
2
3
4
5
6
7
8
9
10

Générer une séquence allant de 5 à 10 :

$ seq 5 10
5
6
7
8
9
10

Générer une séquence allant de 1 à 10 avec un pas de 2 :

$ seq 1 2 10
1
3
5
7
9

Par défaut, le séparateur est le retour chariot. L'option -s permet de modifier ce séparateur :

$ seq -s "-" 1 2 10
1-3-5-7-9

L'option -w permet d'avoir une séquence dont les nombres ont le même nombre de caractères :

$ seq -w 0 100
000
001
002
003
004
005
006
007
008
009
...
098
099
100

Parcourir une séquence avec une boucle for :

$ for i in $(seq 0 2 10); do echo $i; done
0
2
4
6
8
10

Il existe une autre méthode permettant de générer une séquence de nombres, ou de lettres :

$ echo {1..5}
1 2 3 4 5

$ echo {5..-4}
5 4 3 2 1 0 -1 -2 -3 -4

$ echo {a..z}
a b c d e f g h i j k l m n o p q r s t u v w x y z

$ echo "Nombre #"{1..7},
Nombre #1, Nombre #2, Nombre #3, Nombre #4, Nombre #5, Nombre #6, Nombre #7,

$ echo {1..5}{x..z}" +" "..."
1x + 1y + 1z + 2x + 2y + 2z + 3x + 3y + 3z + 4x + 4y + 4z + 5x + 5y + 5z + ...

$ echo {001..090}
001 002 003 004 005 006 007 008 009 010 011 012 013 014 015 016 017 018 019 020 021 022 023 024 025 026 027 028 029 030 031 032 033 034 035 036 037 038 039 040 041 042 043 044 045 046 047 048 049 050 051 052 053 054 055 056 057 058 059 060 061 062 063 064 065 066 067 068 069 070 071 072 073 074 075 076 077 078 079 080 081 082 083 084 085 086 087 088 089 090

$ for j in {1..10}; do echo $j; done
1
2
3
4
5
6
7
8
9
10

Générer toutes les combinaisons possibles pour les immatriculations automobiles françaises :

$ echo  {A..Z}{A..Z}"-"{001..999}"-"{A..Z}{A..Z}

Attention. Cette commande génère un peu moins de 460 millions de données.

Etiquettes: 

Commentaires

Thanks

Ajouter un commentaire

Filtered HTML

  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Tags HTML autorisés : <a> <em> <strong> <cite> <blockquote> <code> <ul> <ol> <li> <dl> <dt> <dd>
  • Les lignes et les paragraphes vont à la ligne automatiquement.

Plain text

  • Aucune balise HTML autorisée.
  • Les adresses de pages web et de messagerie électronique sont transformées en liens automatiquement.
  • Les lignes et les paragraphes vont à la ligne automatiquement.
CAPTCHA
Cette question permet de s'assurer que vous êtes un utilisateur humain et non un logiciel automatisé de pollupostage.
CAPTCHA visuel
Entrez les caractères (sans espace) affichés dans l'image.