Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 25/01/2006, à 16:51

severino

Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

(du Bash pour débutant)

On peut ouvrir un terminal, et taper :

mkdir 04x01; mkdir 04x02; mkdir 04x03; ...; mkdir 04x24;

Mais ce n'est pas pratique :-) Comment faire ? Allons y à taton :

echo 1;

1

i=1; echo $i;

1

i=1; echo 04x$i;

04x1

for i in $(seq 3); do echo $i; done

1
2
3

for i in $(seq 24); do echo 04x$i; done

04x1
04x2
...
04x24

On y est presque, mais on obtient 04x1 à la place de 04x01.

i=8; printf "%02d" $i;

08

Si j'ai bien compris, voilà comment ça marche "printf" :
% précède les attributs à appliquer à $i
0 on remplace les espaces par des zéros
2 on veut un affichage sur deux espaces
d on travail sur un nombre décimal

for i in $(seq 24); do mkdir `printf "04x%02d" $i`; done

Et voilà !

Hors ligne

#2 Le 12/02/2006, à 03:03

tchonny

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

je n'ai pas l'utilité (pour l'instant) d'un tel script, mais je tiens à te féliciter pour ces explications autour de tes scripts bash que j'ai vu sur ce forum. Continues, c'est très instructif big_smile

Hors ligne

#3 Le 12/02/2006, à 16:40

poof65

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

Je note, c'est vraiment très bien expliqué.

Hors ligne

#4 Le 12/02/2006, à 22:36

Vysserk3

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

Très bien cette méthode d'apprentissage pas à pas, ca permet de faire des scripts du même genre soi même aaprès ! Bravo smile

ps : bien adapté pour ranger les épisodes d'une série TV   big_smile

Hors ligne

#5 Le 15/02/2006, à 14:28

bobuse

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

pas mal, mais tu n'avais pas besoin du printf, l'option -w de seq suffisait ;-)

Hors ligne

#6 Le 15/02/2006, à 22:52

severino

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

for i in $(seq -w 24); do mkdir "04x$i"; done

Ouah ! C'est bien mieux. printf ça pue, c'est vraiment un truc d'informaticien. Existe-t-il un équivalent à printf qui soit plus user friendly ?

A ce propos, quand est-ce que l'on utilisera 7zip à la place des antiques .tar.gz et untar -xvf toussa

Hors ligne

#7 Le 15/02/2006, à 22:53

severino

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

for i in $(seq -w 24); do mkdir 04x$i; done

Ça marche aussi sans les guillemets !

Hors ligne

#8 Le 16/02/2006, à 10:07

bobuse

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

severino a écrit :

A ce propos, quand est-ce que l'on utilisera 7zip à la place des antiques .tar.gz et untar -xvf toussa

heu pourquoi faire ??
Si t'aime pas te rappeler des options de tar, ton gestionnaire de fichier le fera pour toi !
Et puis tu peux te faire des alias !

À moins que tu démotres que 7zip est plus performant que bzip2.

Hors ligne

#9 Le 17/02/2006, à 14:58

coffee

Re : Créer des répertoires nommés 04x01 à 04x24 d'une seule ligne

Pour les trolls et discussion sans rapport avec le reste, c'est dans le café des membres les gars smile


Nom d'un tupperware habillé en streetware mangeant de la confiture de pouère et qui se dite où est-ce que je suis ouère !
Tiens mon blog
Les blagues sous forme de fausses aides sont susceptible de ban (ex: rm)

Hors ligne