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 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 big_smile
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 roll

#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