#1 Le 27/01/2008, à 20:42
- Mathieu11
Compter le nombre de fichiers dans un dossier et numerotation
Bonjour,
Je cherche une fonction bash qui permettrait de compter le nombre de fichier present dans un dossier.
Si quelqu'un en connait une, merci d'avance.
Dernière modification par Mathieu11 (Le 27/01/2008, à 21:50)
Vostro 1400
Hors ligne
#2 Le 27/01/2008, à 20:46
- tuxce
Re : Compter le nombre de fichiers dans un dossier et numerotation
salut,
ls | wc -l
Hors ligne
#3 Le 27/01/2008, à 20:50
- Mathieu11
Re : Compter le nombre de fichiers dans un dossier et numerotation
Merci beaucoup
Vostro 1400
Hors ligne
#4 Le 27/01/2008, à 21:50
- Mathieu11
Re : Compter le nombre de fichiers dans un dossier et numerotation
Une autre question
J'ai un script qui telecharge des images une a une en differents formats.
J'aimerais pouvoir rajouter une numerotation devant chaque nom d'image en fonction de l'ordre de telechargement.
Du style je telecharge :
xxxxx.jpg
yyyyy.png
bbbb.jpg
et je voudrais que ca donne :
1_xxxxx.jpg
2_yyyyy.png
3_bbbb.jpg
Quelqu'un saurait m'aider ?
Merci
Vostro 1400
Hors ligne
#5 Le 27/01/2008, à 22:06
- gilbert
Re : Compter le nombre de fichiers dans un dossier et numerotation
Salut,
comment est fait ton script qui télécharge ? Tu connais à l'avance les noms des images ?
Simplement moi-même..
Hors ligne
#6 Le 27/01/2008, à 22:32
- Mathieu11
Re : Compter le nombre de fichiers dans un dossier et numerotation
Il ressemble a ceci :
#!/bin/bash
#Se placer dans le dossier Comics XKCD
cd
cd Comics/XKCD
#Compter le nombre de fichiers présents pour reprendre au bon endroit (bonne page)
base=`ls |wc -l`
prev=$(( $base +1))
next=$(( $prev +10))
#Page de depart
dep=`zenity --entry --title "Page de depart" --text "Page de debut de telechargement ?" --entry-text "$prev"`
#Page de fin
fin=`zenity --entry --title "Page de fin" --text "Page de fin de telechargement ?" --entry-text "$next"`
#Script de telechargement
for i in `seq $dep $fin`
do
wget -nc http://xkcd.com/$i/
wget -nc `grep http://imgs.xkcd.com/comics/ index.html | head -1 | cut -d\" -f2`
rm index.html
done
#Annoncer la fin du telechargement
`zenity --info --title "Telechargement fini" --text "Téléchargement de BD XKCD terminé"`
#Ouvrir le dossier XKCD
nautilus /home/mathieu/Comics/XKCD
Vostro 1400
Hors ligne
#7 Le 27/01/2008, à 22:49
- gilbert
Re : Compter le nombre de fichiers dans un dossier et numerotation
ok, essaie ça, je ne peux pas te le tester.
#!/bin/bash
#Se placer dans le dossier Comics XKCD
cd
cd Comics/XKCD
#Compter le nombre de fichiers présents pour reprendre au bon endroit (bonne page)
base=`ls |wc -l`
prev=$(( $base +1))
next=$(( $prev +10))
#Page de depart
dep=`zenity --entry --title "Page de depart" --text "Page de debut de telechargement ?" --entry-text "$prev"`
#Page de fin
fin=`zenity --entry --title "Page de fin" --text "Page de fin de telechargement ?" --entry-text "$next"`
#Script de telechargement
compteur=0
for i in `seq $dep $fin`
do
# à mettre en fin de boucle si on veut commencer à 0
compteur=$[$compteur+1]
wget -nc http://xkcd.com/$i/
url=$(grep http://imgs.xkcd.com/comics/ index.html | head -1 | cut -d\" -f2)
nomfichier=${url##*/}
wget -nc $url
rm index.html
mv "$nomfichier" "$compteur_$nomfichier"
done
#Annoncer la fin du telechargement
`zenity --info --title "Telechargement fini" --text "Téléchargement de BD XKCD terminé"`
#Ouvrir le dossier XKCD
nautilus /home/mathieu/Comics/XKCD
Simplement moi-même..
Hors ligne
#8 Le 27/01/2008, à 23:03
- Mathieu11
Re : Compter le nombre de fichiers dans un dossier et numerotation
J'obtiens le message suivant lorsqu'il veut renommer
mv: `landscape_cropped_(1).jpg' et `landscape_cropped_(1).jpg' identifient le même fichier.
Vostro 1400
Hors ligne
#9 Le 27/01/2008, à 23:20
- gilbert
Re : Compter le nombre de fichiers dans un dossier et numerotation
ok,
change mv "$nomfichier" "$compteur_$nomfichier" en mv $nomfichier $compteur"_$nomfichier"
en fait l'erreur vient du fait qu'il prend $compteur_ pour une variable, et elle est forcément vide.
Dernière modification par gilbert (Le 27/01/2008, à 23:21)
Simplement moi-même..
Hors ligne
#10 Le 27/01/2008, à 23:29
- Mathieu11
Re : Compter le nombre de fichiers dans un dossier et numerotation
Ca marche super !
Merci beaucoup !
Vostro 1400
Hors ligne
#11 Le 28/01/2008, à 11:37
- freebird
Re : Compter le nombre de fichiers dans un dossier et numerotation
Prenez l'habitude de délimiter le nom de vos variables par des {} et vous n'aurez plus ce genre de soucis. Exemple :
mv ${nomfichier} ${compteur}_${nomfichier}
Hors ligne
#12 Le 28/01/2008, à 12:13
- Sciensous
Re : Compter le nombre de fichiers dans un dossier et numerotation
c'est ce que je faisait jusqu'à récemment o๠j'ai appris que l'avantage des guillemets c'est de prendre en compte les espaces
#13 Le 28/01/2008, à 12:50
- freebird
Re : Compter le nombre de fichiers dans un dossier et numerotation
Il faut combiner les 2 quand tu peux avoir des noms avec espace :
mv "${nomfichier}" "${compteur}_${nomfichier}"
Hors ligne