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 19/07/2016, à 08:31

gotcha5832

[RESOLUT] find et souci d'espace dans les nom de dossier

Bonjour à tous

je suis en train de faire un script de traitement d'image récursif

Pour cela j'ai le code suivant
        for image in `find . -name '*.[jJpP][pPnN][gG]'`
        do
            echo "extraction de $image |"
            TraitementImage $resultat "$image"
        done

Mais j'ai un souci lorsque le dossier contient des espace?
auriez vous une idée comment traiter cela?

Merci

Dernière modification par gotcha5832 (Le 19/07/2016, à 14:48)

Hors ligne

#2 Le 19/07/2016, à 08:44

pingouinux

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Bonjour,
Essaye

while read image
do
   echo "$image"
done < <(find  . -iname '*.[jp][pn][g]')

Ajouté :
Autre solution équivalente

shopt -s globstar dotglob nocaseglob
for image in **/*.{jpg,png}
   do echo "$image"
done

Voir help shopt

Dernière modification par pingouinux (Le 19/07/2016, à 08:56)

Hors ligne

#3 Le 19/07/2016, à 08:54

moko138

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Dans man find, lis le § qui suit cette expression :

find /tmp -name noyau -type f -print0

  - -

D'autre part, regardes-y aussi la différence entre -name et -iname. Ce n'est pas ta question mais ça te simplifiera la vie.

Dernière modification par moko138 (Le 19/07/2016, à 08:55)


%NOINDEX%
Un utilitaire précieux : ncdu
Photo, mini-tutoriel :  À la découverte de dcraw

Hors ligne

#4 Le 19/07/2016, à 09:01

gotcha5832

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Merci à vous.
depuis mon message j'ai fait cela

		find . -name '*.[jJpP][pPnN][gG]' | while read image
		do
			echo "extraction de $image |"
			TraitementImage $resultat "$image"
		done

il y a une différence entre la syntaxe de pingouinux et la mienne?


TraitementImage() 
{
image=$2
[…]
	if [ "$1" = 1 ]
	then
		convert "$image" -modulate 120,10,100 -fill '#222b6d' -colorize 20 -gamma 0.5 -contrast -contrast "$image"
[…]

et avec des guillements autour de $image dans la fonction
@moko138: merci pour le -iname,effectivement

Hors ligne

#5 Le 19/07/2016, à 09:08

pingouinux

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

gotcha5832 #4 a écrit :

il y a une différence entre la syntaxe de pingouinux et la mienne?

Le résultat est le même, mais je ne sais pas si l'une est plus efficace que l'autre.

Hors ligne

#6 Le 19/07/2016, à 09:16

gotcha5832

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Je te remercie

		find ./ -type f \( -iname \*.jpg -o -iname \*.png \) | while read image
		do
			echo "extraction de $image |"
			TraitementImage $resultat "$image"
		done

Hors ligne

#7 Le 19/07/2016, à 09:26

gotcha5832

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

A votre avis le quel est plus performant entre

find ./ -type f \( -iname \*.jpg -o -iname \*.gif -o -iname \*.png -o -iname \*.jpeg \)

et

find -type f -iregex '.*\.\(jpg\|gif\|png\|jpeg\)

Hors ligne

#8 Le 19/07/2016, à 09:57

Postmortem

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Salut,

gotcha5832 a écrit :

A votre avis le quel est plus performant entre

find ./ -type f \( -iname \*.jpg -o -iname \*.gif -o -iname \*.png -o -iname \*.jpeg \)

et

find -type f -iregex '.*\.\(jpg\|gif\|png\|jpeg\)

Je dirais déjà que ce qui est le plus performant serait de mettre "-type f" après "-iregex '.*\.\(jpg\|gif\|png\|jpeg\)" ou "\( -iname \*.jpg -o -iname \*.gif -o -iname \*.png -o -iname \*.jpeg \)"

En effet, le test sur le nom de fichier écarterait plus de fichiers/répertoires et donc, le "-type f" serait exécuté moins souvent.

Dernière modification par Postmortem (Le 19/07/2016, à 09:58)


Mot' a dit : « Un Hellfest sans Slayer, c'est comme une galette-saucisse sans saucisse ! »

Hors ligne

#9 Le 19/07/2016, à 11:45

gotcha5832

Re : [RESOLUT] find et souci d'espace dans les nom de dossier

Je te remercie

Hors ligne