Je souhaite =E0 l'aide d'un script bash en choisir un au hasard,
v=E9rifier s'il est vide pour effectuer une action au cas ou.
Si j'=E9cris:
fichier=3D$((RANDOM%9999))
echo le fichier est le F$fichier
je ne toucherai pas les fichiers F0*, puisque je risque
d'obtenir des F12 au lieu de F0012 par exemple.
Je pourrais ajouter des 0 avec des echo -n $fichier | wc -m
mais cela me parait lourd comme m=E9thode. Et d'ailleurs
comment ajouter n caracteres a une variable?
Cette action est irreversible, confirmez la suppression du commentaire ?
Signaler le commentaire
Veuillez sélectionner un problème
Nudité
Violence
Harcèlement
Fraude
Vente illégale
Discours haineux
Terrorisme
Autre
Thierry Boudet
On 2005-12-13, wrote:
Y'a t'il plus rapide et/ou plus elegant?
:~$ printf "%04dn" $((RANDOM%9999)) 0622
-- Quels indicateurs devrait-on mesurer pour tenter de déterminer un "indice de viscosité" raisonnable par rapport à la fréquentation moyenne de usenet-fr, ou -si du moins c'est pertinent- à celle de fufe ? --{ mécanique des fufluides }--
On 2005-12-13, octane@alinto.com <octane@alinto.com> wrote:
Y'a t'il plus rapide et/ou plus elegant?
tth@flo:~$ printf "%04dn" $((RANDOM%9999))
0622
--
Quels indicateurs devrait-on mesurer pour tenter de déterminer un
"indice de viscosité" raisonnable par rapport à la fréquentation
moyenne de usenet-fr, ou -si du moins c'est pertinent- à celle de fufe ?
--{ mécanique des fufluides }--
-- Quels indicateurs devrait-on mesurer pour tenter de déterminer un "indice de viscosité" raisonnable par rapport à la fréquentation moyenne de usenet-fr, ou -si du moins c'est pertinent- à celle de fufe ? --{ mécanique des fufluides }--
Stephane Chazelas
2005-12-13, 09:33(-08), :
Bonjour,
J'ai 9999 fichiers, appelés de F0001 à F9999
Je souhaite à l'aide d'un script bash en choisir un au hasard, vérifier s'il est vide pour effectuer une action au cas ou.
Si j'écris:
fichier=$((RANDOM%9999)) echo le fichier est le F$fichier
je ne toucherai pas les fichiers F0*, puisque je risque d'obtenir des F12 au lieu de F0012 par exemple.
Je pourrais ajouter des 0 avec des echo -n $fichier | wc -m mais cela me parait lourd comme méthode. Et d'ailleurs comment ajouter n caracteres a une variable?
Y'a t'il plus rapide et/ou plus elegant?
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
-- Stéphane
2005-12-13, 09:33(-08), octane@alinto.com:
Bonjour,
J'ai 9999 fichiers, appelés de
F0001 à F9999
Je souhaite à l'aide d'un script bash en choisir un au hasard,
vérifier s'il est vide pour effectuer une action au cas ou.
Si j'écris:
fichier=$((RANDOM%9999))
echo le fichier est le F$fichier
je ne toucherai pas les fichiers F0*, puisque je risque
d'obtenir des F12 au lieu de F0012 par exemple.
Je pourrais ajouter des 0 avec des echo -n $fichier | wc -m
mais cela me parait lourd comme méthode. Et d'ailleurs
comment ajouter n caracteres a une variable?
Je souhaite à l'aide d'un script bash en choisir un au hasard, vérifier s'il est vide pour effectuer une action au cas ou.
Si j'écris:
fichier=$((RANDOM%9999)) echo le fichier est le F$fichier
je ne toucherai pas les fichiers F0*, puisque je risque d'obtenir des F12 au lieu de F0012 par exemple.
Je pourrais ajouter des 0 avec des echo -n $fichier | wc -m mais cela me parait lourd comme méthode. Et d'ailleurs comment ajouter n caracteres a une variable?
Y'a t'il plus rapide et/ou plus elegant?
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
-- Stéphane
fred
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
bonjour, de manière plus générale, comment padder à gauche ou à droite ? ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères ? Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et compléter par des '#' à gauche si elle fait moins de 50 caractères. Comment procéder ?
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
bonjour,
de manière plus générale, comment padder à gauche ou à droite ?
ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères
?
Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et
compléter par des '#' à gauche si elle fait moins de 50 caractères.
Comment procéder ?
bonjour, de manière plus générale, comment padder à gauche ou à droite ? ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères ? Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et compléter par des '#' à gauche si elle fait moins de 50 caractères. Comment procéder ?
Stephane Chazelas
2005-12-14, 10:10(+01), fred:
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
bonjour, de manière plus générale, comment padder à gauche ou à droite ? ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères ? Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et compléter par des '#' à gauche si elle fait moins de 50 caractères. Comment procéder ?
Avec zsh:
toto=${(l:50::#:)toto}
Sinon,
toto=$(awk ' BEGIN { s=ARGV[1] while(length(s) < 50) s = "#" s print s exit }' "$toto")
(mais ce dernier peut tronquer $toto s'il fait plus de 50 caracteres au depart).
-- Stéphane
2005-12-14, 10:10(+01), fred:
fichier=$(printf 'F%04d' "$(($RANDOM % 10000))")
bonjour,
de manière plus générale, comment padder à gauche ou à droite ?
ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères
?
Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et
compléter par des '#' à gauche si elle fait moins de 50 caractères.
Comment procéder ?
Avec zsh:
toto=${(l:50::#:)toto}
Sinon,
toto=$(awk '
BEGIN {
s=ARGV[1]
while(length(s) < 50)
s = "#" s
print s
exit
}' "$toto")
bonjour, de manière plus générale, comment padder à gauche ou à droite ? ici on a un nombre à 4 chiffres mais si on avait eu une chaine de caractères ? Supposons que j'ai une chaîne $toto, je veux l'afficher sur 50 caractères et compléter par des '#' à gauche si elle fait moins de 50 caractères. Comment procéder ?
Avec zsh:
toto=${(l:50::#:)toto}
Sinon,
toto=$(awk ' BEGIN { s=ARGV[1] while(length(s) < 50) s = "#" s print s exit }' "$toto")