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 22/01/2025, à 20:22

Frankkunst

Modif datation et renomage de photo

Bonjour à tous,
Voilà je me suis fait 3 petits scripts pour me faciliter le travail de classement et rangement des photos JPEG . Fait pour Nautilus
Donc les voici, juste pour les partager et en faire profiter les nouveaux sur Ubuntu smile

Ces trois scripts sont à mettre dans le répertoire, de Nautilus, ~/.local/share/nautilus/scripts/ et à rendre exécutable

Le premier pour modifier les données date EXIF :

#!/bin/bash
#
##----------------------------------------------------- # modifDate #----------------------------------------------------------------------------
##------------------------------------------------------# version 24/01/2025 #-------------------------------------------------------------------
##------------------------------------------# Correction datation EXIF de fichiers JPEG #--------------------------------------------------------
: >~/temp/datamod
readonly INITD=$PWD
readarray -t Select <<< "$NAUTILUS_SCRIPT_SELECTED_URIS"									## Enregistrement sélection
nf=${#Select[@]} ; ((nf--))													## Comptage sélection
function abandon {
zenity --info --width=1000 --timeout=3 --text="\nAbandon de l'opération\n\nAucune modification n'a été apportée\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function modif {
g=0 m=0 h=0 k=0
for lignBrut in ${Select[@]}
	do
		nouvLigne=${lignBrut#"$NAUTILUS_SCRIPT_CURRENT_URI"}
		printf -v z '%s%b' "${INITD}" "${nouvLigne//%/\\x}"								## création variable "z" utilisable
		testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))
		som=$(( $g * 100 / $nf ))											## Calcul avancement %
		if [[ "$testfil" == "jpeg" ]]
			then
				cam=$(exiv2 "$z" 2>/dev/null | grep "Camera model")						## Extraction modèle APN
				selecam=$(echo $cam | cut -d":" -f2)
				if [[ "$selecam" == " $apn" ]] && (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")			## Contrôle Modèle APN et Date
					then	((m++))
						exiv2 $corrheure $corrjour $corrmois $corrannee ad "$z" 2>/dev/null
					else  
						((h++))
				fi
			else 	 
				((k++))
		fi
		echo -e "#Veuillez patienter, modification datation en cours .....$som %"					## Transmission en chiffre
		echo "$som"													## Transmission à la barre de progression
done
ret=([0]="$g" [1]="$m" [2]="$h" [3]="$k") ; printf '%s\n' "${ret[@]}" >>~/temp/datamod				## export des variables hors fonction pour passage tube
}
IFS='|' read -r heure jour mois annee < <(zenity --forms --title="Correction \"horodatage\"" --text="Veuillez entrer la correction à apporter :\
						\n\nLes heures et minute sous la forme \"00:00:00\" avec le signe - devant sans espace si négatif\
						\n\nLes jours sous la forme \"0\" avec un - devant si négatif\
						\n\nLes mois sous la forme \"0\" avec - devant si négatif\n\nPuis de même les années\
						\n\n" --separator="|" --add-entry="heure:minute:seconde" --add-entry="jour" --add-entry="mois" --add-entry="année")
if [[ $? == 1 ]] ; then	abandon ; fi
if [[ -n "$heure" ]] ; then corrheure="-a $heure" ; else corrheure= ; fi
if [[ -n "$jour" ]] ; then corrjour="-D $jour" ; else corrjour= ; fi
if [[ -n "$mois" ]] ; then corrmois="-O $mois" ; else corrmois= ; fi
if [[ -n "$annee" ]] ; then corrannee="-Y $annee" ; else corrannee= ; fi
apn=$(zenity --entry --title="Nom de l'appareil photo" --text="Veuillez entrer le nom de l'appareil\
		\ntel qu'il apparait dans les propriétés de la photo\nde l'APN ayant servi aux prises de vues")
if [[ $? == 1 ]] ; then	abandon ; fi
modif | zenity --progress --width=900 --auto-close --no-cancel --percentage=0 --title="Avancement de l'horodatage"\
								--text="Veuillez patienter, modification datation en cours ....."
readarray -t RESULTAT < ~/temp/datamod											## récupération des compteurs de modifications
rm ~/temp/datamod
zenity --info --width=900 --title="Résultat"\
				--text="Sur ${RESULTAT[0]} fichiers sélectionnés\
				\n\nLa datation de <span color=\"lightblue\">\"${RESULTAT[1]}\"</span> fichiers a été modifiée et peuvent être maitenant renommé .\
				\n\n\t<span color=\"red\">\"${RESULTAT[2]}\"</span> fichiers ne sont pas issus de \"$apn\" ou ne possèdent pas de date ...\
				\n\n\t\t\tn'ont donc pas été touchés\
				\n\n\tet ${RESULTAT[3]} ne sont pas des fichiers JPEG ..."
exit

Le deuxième pour renommer une sélection de fichiers :

#!/bin/bash
#
#-----------------------------------------------------------Renommage de fichier "jpeg" sur la base des données EXIF----------------------
#-----------------------------------------------------------nom : RenomJPEG-Select - auteur : Frankkunst - version :1 - date 16/01/2025
#---------------------------------------------------------------------------*************-------------------------------------------------
#-------------------------------------------------------------------# Nettoyage #----------------------------------------------------------------------
: >~/temp/data
readonly INITD=$PWD
#------------------------------------------------------------# Déclaration + Fonction #----------------------------------------------------------------------
RESULTAT=()
#------------------------
function abandon {
zenity --info --width=600 --timeout=3 --text="\nAbandon de l'opération\n\nAucun fichier n'a été renommé\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function rnm {														## fonction de rennommage
g=0 m=0 h=0 k=0														## mise à zero des compteurs
for lignBrut in ${Args[@]}
	do
	nouvLigne=${lignBrut#"$NAUTILUS_SCRIPT_CURRENT_URI"}
	printf -v z '%s%b' "${INITD}" "${nouvLigne//%/\\x}"								## création variable "z" utilisable
	testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))						## test fichier jpeg
	sum=$(( $g * 100 / $nf ))											## Avancement %
	echo "$sum"													## Transmission à la barre de progression
	echo -e "#Veuillez patienter, renommage en cours ..... $sum %"							## Transmission en chiffre
	if [[ "$testfil" == "jpeg" ]] 				  							## contrôle jpeg
		then
			datefich=											## vidange de la variable
			if (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")
				then
					set $(exiv2 -qg Exif.Photo.DateTimeOriginal "$z")				## extraction données de datations
					datefich="$4"
				else
					datefich=
			fi						
			if [[ -n "$datefich" ]] && [[ "$datefich" != 0000:00:00 ]]					## contrôle présence de données
				then	((m++))
					f=$(printf "%03d" $m)	; e=${f: -3}						## mise en forme compteur sur trois chiffres
					exiv2 -r"$ordre""$e" rename "$z" 2>/dev/null 					## renommage
				else printf "\"$z\" ..... n'a pas de données de date !\n" >>fichInvalide.txt ; ((h++))
			fi
		else printf "\"$z\" ..... n'est pas un fichier \"jpeg\" donc pas traité !\n" >>fichInvalide.txt ; ((k++))
	fi
done
ret=([0]="$g" [1]="$m" [2]="$k" [3]="$h") ; printf '%s\n' "${ret[@]}" >>~/temp/data					## export des variables hors fonction
}
readarray -t Args <<< "$NAUTILUS_SCRIPT_SELECTED_URIS"
nf=${#Args[*]} ; ((nf--))
#-------------------------------------------------------------------# Entrée  + Choix #------------------------------------------------------------------------------- 
rep=$(zenity --forms --width=800	--title=" RenomJPEG-Select - Frankli " \
			--text="\n	Ce script utilise les données <span color=\"green\">\"exif\"</span> pour renommer les fichers .\nIl va rechercher la date originale de la prise de vue pour composer le nom de fichier .\n\nVous pouvez aussi entrer à l'invite une <span color=\"green\">\"étiquette\"</span> sous la forme d'un mot (Ceci est optionnel) .\nCe dernier sera repporté à la fin du nom de fichier\n\nPuis appuyer sur <span color=\"green\">"Valider"</span> pour continuer" \
			--add-entry="Étiquette :")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
#---------------------------------------------------
format=$(zenity --list --height=300 --title="Choix format date" --text="Veuillez choisir entre ces formats :" --column="format de date"\
									"AAMM"\
									"AAAAMM"\
									"AAMMJJ"\
									"AAAAMMJJ"\
									"JJMMAAAA"\
									"AAMMJJ-hhmmss"\
									"JJMMAA"\
									"JJMMAA-hhmmss"\
									"AAAAMMJJ-hhmmss"\
									"JJMMAAAA-hhmmss"\
									"MMJJ-hhmm")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
##--------------------------------------------------------------------## Préparation Nom de renommage ##--------------------------------------------------------
if [[ -z $format ]] ; then format="AAAAMMJJ-hhmmss" ; fi
case $format in
	AAMM) formDate="%y%m" ;;
	AAAAMM) formDate="%Y%m" ;;
	AAMMJJ) formDate="%y%m%d" ;;
	AAAAMMJJ) formDate="%Y%m%d" ;;
	JJMMAAAA) formDate="%d%m%Y" ;;
	AAMMJJ-hhmmss) formDate="%y%m%d-%H%M%S" ;;
	JJMMAA) formDate="%d%m%y" ;;
	JJMMAA-hhmmss) formDate="%d%m%y-%H%M%S" ;;
	AAAAMMJJ-hhmmss) formDate="%Y%m%d-%H%M%S" ;;
	JJMMAAAA-hhmmss) formDate="%d%m%Y-%H%M%S" ;;
	MMJJ-hhmm) formDate="%m%d-%H%M";;
	*) formDate="%Y%m%d-%H%M%S" ;;
esac
supp="$rep"
if [[ ${#rep} -ne 0 ]]
	then
		ordre=$(echo -e ""$formDate"_"$supp"-")							## préparation base de renommage avec ou sans complément
	else
		ordre=$(echo -e ""$formDate"-")
fi
##--------------------------------------------------------------------# lancement tache #-------------------------------------------------------------------------
infoavantravail () {																			
cat <<eof
						
			Vous avez sélectionné $nf fichiers pour les renommer .
			
			Il vont être renommé sous le format :
			
						"$format"_"$supp"-000
					
					Désirez-vous continuer ?
					
					Si oui, appuyez sur "Valider"	

eof
}
zenity --text-info --width=1000 --height=300 --title="Accord avant renommage" --filename <(infoavantravail)
#zenity --question --text="Vous avez sélectionné <span color=\"red\">$nf</span> fichiers pour les renommer .\nIl vont être renommé sous le format :\n\n\
#						"$format"_"$supp"-000\n\n\
#						\nDésirez-vous continuer ?"
#----------------------------------------------------
if [[ $? == 1 ]] ; then abandon ; fi
#----------------------------------------------------
rnm | zenity --progress --width=900 --auto-close --no-cancel --title="Avancement du renommage" --text="veuillez patienter, renommage en cours .....	" --percentage=0
##------------------------------------------------------------------# Affichage résultat #------------------------------------------------------------------------
for y in $(cat ~/temp/data)
	do
	RESULTAT+=($y)
	done
rm ~/temp/data
zenity --info --width=900 	--title="Résultat des courses" \
				--text="${RESULTAT[0]} fichiers du dossier :\n\n<span color=\"green\">\"$PWD\"</span>\n\n\t\tOnt été éxaminé \!\n\nDont ${RESULTAT[1]} rennomé\n\nEt ${RESULTAT[3]} ne possèdent pas de date\n\n<span color=\"red\"> ${RESULTAT[2]} fichier\\s n'ont pas été traité </span>"
FICHIER=fichInvalide.txt
if [[ -f "$FICHIER" ]] ; then zenity --text-info --width=1400 --height=300 --title="Fichier non renommé" --filename=fichInvalide.txt ; fi
rm fichInvalide.txt 2>/dev/null
exit

Et le troisième pour renommer tout le répertoire courant :

#!/bin/bash
#
#-----------------------------------------------------------Renommage de fichier "jpeg" sur la base des données EXIF----------------------
#-----------------------------------------------------------Nom : RenomJPEG-All - auteur : Frankkunst - version :1 - date 16/01/2025
#---------------------------------------------------------------------------*************-------------------------------------------------
#-------------------------------------------------------------------# Nettoyage #----------------------------------------------------------------------
printf >~/temp/data
#------------------------------------------------------------# Déclaration + Fonction #----------------------------------------------------------------------
RESULTAT=()													
#------------------------
function abandon {
zenity --info --width=600 --timeout=3 --text="\nAbandon de l'opération\n\nAucun fichier n'a été renommé\n\nCette fenêtre ce fermera dans : 3\""; exit
}
function rnm {														## fonction de rennommage
g=0 m=0 h=0 k=0														## mise à zero des compteurs
for z in $(ls $PWD)								
	do
	testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1) ; ((g++))						## test fichier jpeg					
	if [[ $testfil == "jpeg" ]] 				  							## contrôle jpeg
		then
			datefich=											## vidange de la variable
			if (exiv2 -qg Exif.Photo.DateTimeOriginal "$z")
				then
					set $(exiv2 -qg Exif.Photo.DateTimeOriginal "$z")				## extraction données de datations
					datefich="$4"
				else
					datefich=
			fi							
			if [[ -n $datefich ]] && [[ $datefich != 0000:00:00 ]]							## contrôle présence de données
				then	((m++))
					f=$(printf "%03d" $m)	; e=${f: -3}						## mise en forme compteur sur trois chiffres
					exiv2 -r$ordre$e rename "$z" 2>/dev/null 					## renommage
					sum=$(( $g * 100 / $nf ))
					echo "$sum"
					echo -e "#Veuillez patienter, renommage en cours ..... $sum %"
				else printf "\"$z\" n'a pas de données de date !\n" >>fichInvalide.txt ; ((h++))
			fi
		else printf "\"$z\" 	n'est pas un fichier \"jpeg\" donc pas traité !\n" >>fichInvalide.txt ; ((k++))
	fi
done
ret=([0]="$g" [1]="$m" [2]="$k" [3]="$h") ; printf '%s\n' "${ret[@]}" >>~/temp/data					## export des variables hors fonction
}
while read ; do Args[$n]=$REPLY ; ((n++)) ; done < <(ls $pwd)
nf=${#Args[*]}
#-------------------------------------------------------------------# Entrée  + Choix #------------------------------------------------------------------------------- 
rep=$(zenity --forms --width=800	--title=" RenomJPEG-All - Frankli " \
			--text="\n	Ce script utilise les données <span color=\"green\">\"exif\"</span> pour renommer les fichers .\nIl va rechercher la date originale de la prise de vue pour composer le nom de fichier .\n\nVous pouvez aussi entrer à l'invite une <span color=\"green\">\"étiquette\"</span> sous la forme d'un mot (Ceci est optionnel) .\nCe dernier sera repporté à la fin du nom de fichier\n\nPuis appuyer sur <span color=\"green\">"Valider"</span> pour continuer" \
			--add-entry="Étiquette :")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
#---------------------------------------------------
format=$(zenity --list --height=300 --title="Choix format date" --text="Veuillez choisir entre ces formats :" --column="format de date"\
									"AAMM"\
									"AAAAMM"\
									"AAMMJJ"\
									"AAAAMMJJ"\
									"JJMMAAAA"\
									"AAMMJJ-hhmmss"\
									"JJMMAA"\
									"JJMMAA-hhmmss"\
									"AAAAMMJJ-hhmmss"\
									"JJMMAAAA-hhmmss"\
									"MMJJ-hhmm")
#---------------------------------------------------
if [[ $? == 1 ]] ; then	abandon ; fi
##--------------------------------------------------------------------## Préparation Nom de renommage ##--------------------------------------------------------
if [[ -z $format ]] ; then format="AAAAMMJJ-hhmmss" ; fi
case $format in
	AAMM) formDate="%y%m" ;;
	AAAAMM) formDate="%Y%m" ;;
	AAMMJJ) formDate="%y%m%d" ;;
	AAAAMMJJ) formDate="%Y%m%d" ;;
	JJMMAAAA) formDate="%d%m%Y" ;;
	AAMMJJ-hhmmss) formDate="%y%m%d-%H%M%S" ;;
	JJMMAA) formDate="%d%m%y" ;;
	JJMMAA-hhmmss) formDate="%d%m%y-%H%M%S" ;;
	AAAAMMJJ-hhmmss) formDate="%Y%m%d-%H%M%S" ;;
	JJMMAAAA-hhmmss) formDate="%d%m%Y-%H%M%S" ;;
	MMJJ-hhmm) formDate="%m%d-%H%M";;
	*) formDate="%Y%m%d-%H%M%S" ;;
esac
supp="$rep"
if [[ ${#rep} -ne 0 ]]
	then
		ordre=`echo -e ""$formDate"_"$supp"-"`							## préparation base de renommage avec ou sans complément
	else
		ordre=`echo -e ""$formDate"-"`
fi
##--------------------------------------------------------------------# lancement tache #-------------------------------------------------------------------------
zenity --question --text="Vous avez sélectinné <span color=\"red\">$nf</span> fichiers pour les renommer .\nIl vont être renommé sous le format :\n\n\
						<span color=\"green\"> "$format"_"$rep"-000 </span> \n\n\
						\nDésirez-vous continuer ?"
#----------------------------------------------------
if [[ $? == 1 ]] ; then abandon ; fi
#----------------------------------------------------
file_list=* ; for z in $file_list
			do
				mv -n "$z" "${z// /_}" 2>/dev/null
			done | zenity --progress --width=900 --auto-close --no-cancel --title="Suppression des espaces" --text="Veuillez patienter ..." --pulsate
rnm | zenity --progress --width=900 --auto-close --no-cancel --title="Avancement du renommage" --text="Veuillez patienter, renommage en cours .....	" --percentage=0
##------------------------------------------------------------------# Affichage résultat #------------------------------------------------------------------------
for y in $(cat ~/temp/data)
	do
	RESULTAT+=($y)
	done
zenity --info --width=900 	--title="Résultat des courses" \
				--text="${RESULTAT[0]} fichiers du dossier :\n\n<span color=\"green\">\"$PWD\"</span>\n\n\t\tOnt été éxaminé \!\n\nDont ${RESULTAT[1]} rennomé\n\nEt ${RESULTAT[3]} ne possèdent pas de date\n\n<span color=\"red\"> ${RESULTAT[2]} fichier\\s n'ont pas été traité </span>"
FICHIER=fichInvalide.txt
if [[ -f "$FICHIER" ]] ; then zenity --text-info --width=1400 --height=300 --title="Fichier non renommé" --filename=fichInvalide.txt ; fi
rm fichInvalide.txt 2>/dev/null
exit

Alors amusez vous bien .;)

Dernière modification par Frankkunst (Hier à 12:30)


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#2 Le 22/01/2025, à 23:13

Watael

Re : Modif datation et renomage de photo

function modif {
    local -i g h k m
    for lignBrut in "${Select[@]}"

parce que je suis complaisant. smile

mais en fait

modif() {
    #pas besoin d'initaliser les variables
    #soit
    echo "$NAUTILUS_SCRIPT_SELECTED_URIS" | while read lignBrute
    #soit
    for file in "$@"

testfil=$(file -b -i "$z" | cut -d"/" -f2 | cut -d";" -f1)

testFile=$(file --brief --mime-type "$z")
if test "$testFile" = 'image/jpeg'

ou

if test "${testFile#*/}" = 'jpeg'

ET
toujours pas for x in $(ls)
pourquoi ?
parce que :

faire profiter les nouveaux

qui ne devraient pas apprendre d'âneries.


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#3 Le 22/01/2025, à 23:13

Frankkunst

Re : Modif datation et renomage de photo

Si vous avez des suggestions, je suis toujours preneur wink


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#4 Le 22/01/2025, à 23:24

Watael

Re : Modif datation et renomage de photo

ret=([0]="$g" [1]="$m" [2]="$h" [3]="$k") ; printf '%s\n' "${ret[@]}" >>~/temp/datamod

pourquoi ?
les variables d'une fonction (à moins d'avoir été déclarées (par declare ou local)) ont une portée globale : ret, puisqu'il n'a pas été déclaré, est disponible pour "zenity Résultat".


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#5 Le 22/01/2025, à 23:45

iznobe

Re : Modif datation et renomage de photo

reinventer la roue quelle joie .

il existe des dizaines de logiciels pour faire ce genre de chose dont celui-ci : https://forum.ubuntu-fr.org/viewtopic.p … #p22817406   

iznobe a écrit :

bonjour , " inviska rename " fait ca en 2 coup de cuilleres a pots  clics , et tout un tas d' autres choses pour renommer les fichiers par lot .
inviska-exif.png

Dernière modification par iznobe (Le 22/01/2025, à 23:47)


retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne

#6 Le 23/01/2025, à 10:51

Frankkunst

Re : Modif datation et renomage de photo

Watael a écrit :

pourquoi ?
les variables d'une fonction (à moins d'avoir été déclarées (par declare ou local)) ont une portée globale : ret, puisqu'il n'a pas été déclaré, est disponible pour "zenity Résultat".

Pour modifDate
J'ai commencé le script par la fonction principal et l'ai étoffé petit à petit, l'ensemble fonctionnait bien jusqu'au moment où ...
j'ai voulu mettre une barre de progression Zenity ...et là , sûrement dû au "|" , les variables ne passaient plus ! de là utilisation de "ret" et du fichier temporaire ~/temp/datamod
De surcroît j'ai eu pas mal de souci quand j'ai introduit "--percentage" de Zenity avec la transmission du poucentage "som" , là va comprendre pourquoi si je le fait avant la boucle "if [[ "$testfil" == "jpeg" ]]" les variable ne ressortent plus même par le fichier, la seule position possible c'est après la boucle !?...


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#7 Le 23/01/2025, à 10:55

Frankkunst

Re : Modif datation et renomage de photo

Watael a écrit :

ET
toujours pas for x in $(ls)
pourquoi ?
parce que :

    faire profiter les nouveaux

qui ne devraient pas apprendre d'âneries.

Je ne suis pas un pro, j'ai tout appris en autodidacte, je ne prétends pas tout savoir, j’essaie juste de partager ce que j'arrive à faire !


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#8 Le 23/01/2025, à 12:57

Frankkunst

Re : Modif datation et renomage de photo

Iznobe a écrit :

reinventer la roue quelle joie .

il existe des dizaines de logiciels pour faire ce genre de chose

Je ne pense pas !
Avant j'utilisais "Pyrenamer" mais c'est terminé ! Alors pour moi et pour ma fille qui ne s'y entend pas avec la ligne de commande, car tout le monde n'est pas informaticien big_smile

Donc voilà n'ayant pas trouvé ce qui correspondait à mon attente, avec mon peu de connaissance, je me suis lancé ...
Et je suis assez content du résultat  cool
Essais le et tu me diras ce que tu en penses ! tongue


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#9 Le 23/01/2025, à 13:14

Watael

Re : Modif datation et renomage de photo

j'ai oublié de dire que, autant que possible, on ne modifie pas l'IFS durablement dans un script :

IFS='|' read -r heure jour mois annee < (zenity --forms --title="Correction \"horodatage\"" ...)

Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#10 Le 24/01/2025, à 17:49

Frankkunst

Re : Modif datation et renomage de photo

Watael a écrit :

autant que possible, on ne modifie pas l'IFS durablement dans un script :

J'ai essayé avec ce  type de commande :

IFS='|' read -r heure jour mois annee < (zenity --forms --title="Correction \"horodatage\"" ...)

Même avec < $(.... wink
Mais sans succès !...?


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne

#11 Le 24/01/2025, à 18:18

Watael

Re : Modif datation et renomage de photo

oops ! j'ai oublié un < :

IFS='|' read -r heure jour mois annee < <(zenity --forms --title="Correction \"horodatage\"" ...)

il s'agit d'une Substitution de processus.

Dernière modification par Watael (Le 24/01/2025, à 18:19)


Connected \o/
Welcome to sHell. · eval is evil.

En ligne

#12 Le 24/01/2025, à 19:08

Frankkunst

Re : Modif datation et renomage de photo

Merci bien, tout est ok cool


C'est en forgeant que l'on devient forgerons ...
et
...petit à petit l'oiseau fait son nid !

Hors ligne