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.

#26 Le 15/11/2021, à 11:37

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Bonjour,

J'ai testé ta solution @MicP, mais il ne se passe strictement rien ... voici le retour du echo (extrait) :

mv /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM706561/LM706561--original--TV+and+Online+Intelligence+Database+-+November+2021.xlsx /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM706561/LM706561--original--TV and Online Intelligence Database - November 2021.xlsx
mv /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM706595/LM706595--original--TV+Media+Intelligence+Database+-+November+2021.xlsx /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM706595/LM706595--original--TV Media Intelligence Database - November 2021.xlsx
mv /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990/LM711990--original--World+Television+Information+Service+Forecasting+Tool+-+November+2021.xlsx /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990/LM711990--original--World Television Information Service Forecasting Tool - November 2021.xlsx

Hors ligne

#27 Le 15/11/2021, à 11:56

MicP

Re : [Résolu] Script parcours arborescence pour renommage

Oui, l'extrait de script ne fait (pour le tester) qu'afficher la ligne de commande qui serait lancée,
mais pour que les lignes de commande mv soient lancées,
il faudra supprimer la commande echo

Donc, l'extrait de script deviendra :

for f in "$1"/*/*+*; do

        chemin="${f%/*}"
        nomFich="${f##*/}"

        sansPlus="${nomFich//+/ }"
	sansLM="${sansPlus//LM+([[:digit:]])--original--}"

	mv "$f" "$chemin/$sansLM"
done

Dernière modification par MicP (Le 15/11/2021, à 11:59)

Hors ligne

#28 Le 15/11/2021, à 16:05

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Ok en effet, après avoir ôté le echo, le mv m'a bien retiré les +, les fichiers restent au bons endroits mais le "LM*--original--" est toujours présent sad

Hors ligne

#29 Le 15/11/2021, à 16:25

MicP

Re : [Résolu] Script parcours arborescence pour renommage

Vérifie dans ton script s'il n'y a pas une erreur
dans la ligne d'affectation de la valeur à la variable sansLM
qui doit être formulée comme ci-dessous :

sansLM="${sansPlus//LM+([[:digit:]])--original--}"

Hors ligne

#30 Le 16/11/2021, à 11:17

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Re @MicP,

J'ai re-re vérifié mais non ...
J'ai bien la même chose que toi :

sansLM="${sansPlus//LM+([[:digit:]])--original--}"

De ton côté ça fonctionnait comme ça ?

Hors ligne

#31 Le 16/11/2021, à 11:25

MicP

Re : [Résolu] Script parcours arborescence pour renommage

michel@ubu20043lts:~$ f="/opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990/LM711990--original--World+Television+Information+Service+Forecasting+Tool+-+November+2021.xlsx"
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ echo $f
/opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990/LM711990--original--World+Television+Information+Service+Forecasting+Tool+-+November+2021.xlsx
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ chemin="${f%/*}"; echo $chemin
/opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ nomFich="${f##*/}"; echo $nomFich
LM711990--original--World+Television+Information+Service+Forecasting+Tool+-+November+2021.xlsx
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ sansPlus="${nomFich//+/ }"; echo $sansPlus
LM711990--original--World Television Information Service Forecasting Tool - November 2021.xlsx
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ sansLM="${sansPlus//LM+([[:digit:]])--original--}"; echo $sansLM
World Television Information Service Forecasting Tool - November 2021.xlsx
michel@ubu20043lts:~$ 
michel@ubu20043lts:~$ echo "$chemin/$sansLM"
/opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM711990/World Television Information Service Forecasting Tool - November 2021.xlsx
michel@ubu20043lts:~$ 

Dernière modification par MicP (Le 16/11/2021, à 11:31)

Hors ligne

#32 Le 16/11/2021, à 17:06

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Re, voici le retour que j'ai avec ce script :

shopt -s nullglob globstar; 

for f in "$1"/*/*+*; do

    chemin="${f%/*}"
    nomFich="${f##*/}"
    sansPlus="${nomFich//+/ }"
	sansLM="${sansPlus//LM+([[:digit:]])--original--}"
	#mv "$f" "$chemin/$sansLM"
	echo "chemin = "$chemin
	echo "nomFich ="$nomFich
	echo "sansPlus ="$sansPlus
	echo "sansLM = "$sansLM
	echo mv "$f" "$chemin/$sansLM"
	echo "______________________________________________/n"
done

Le retour donc (extrait) :

chemin = /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567
nomFich =LM720567--original--2022+Trends+to+Watch+Broadband+PDF.pdf
sansPlus =LM720567--original--2022 Trends to Watch Broadband PDF.pdf
sansLM = LM720567--original--2022 Trends to Watch Broadband PDF.pdf
mv /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567/LM720567--original--2022+Trends+to+Watch+Broadband+PDF.pdf /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567/LM720567--original--2022 Trends to Watch Broadband PDF.pdf
______________________________________________
chemin = /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567
nomFich =LM720567--original--2022+Trends+to+Watch+Broadband+PPT.pptx
sansPlus =LM720567--original--2022 Trends to Watch Broadband PPT.pptx
sansLM = LM720567--original--2022 Trends to Watch Broadband PPT.pptx
mv /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567/LM720567--original--2022+Trends+to+Watch+Broadband+PPT.pptx /opt/application/98cas1/G05R00C00/talend/consolidation/TEST/SendTest/2021_11_02-16h_19_test/LM720567/LM720567--original--2022 Trends to Watch Broadband PPT.pptx
______________________________________________

Hors ligne

#33 Le 16/11/2021, à 22:36

MicP

Re : [Résolu] Script parcours arborescence pour renommage

Désolé, je n'arrive pas à comprendre pourquoi ça ne fonctionne pas sur ton système,
voilà ce que donnent tes lignes de commandes sur mon système :

michel@debbull:~$ cat aefffScr 

    f="/opt/cheminBLABLA_test/LM720567/LM720567--original--2022+Trends+to+Watch+Broadband+PDF.pdf"

    chemin="${f%/*}"
    nomFich="${f##*/}"
    sansPlus="${nomFich//+/ }"
        sansLM="${sansPlus//LM+([[:digit:]])--original--}"
        #mv "$f" "$chemin/$sansLM"
        echo "chemin   = "$chemin
        echo "nomFich  = "$nomFich
        echo "sansPlus = "$sansPlus
        echo "sansLM   = "$sansLM
        echo mv "$f" "$chemin/$sansLM"
michel@debbull:~$ 
michel@debbull:~$ source aefffScr 
chemin   = /opt/cheminBLABLA_test/LM720567
nomFich  = LM720567--original--2022+Trends+to+Watch+Broadband+PDF.pdf
sansPlus = LM720567--original--2022 Trends to Watch Broadband PDF.pdf
sansLM   = 2022 Trends to Watch Broadband PDF.pdf
mv /opt/cheminBLABLA_test/LM720567/LM720567--original--2022+Trends+to+Watch+Broadband+PDF.pdf /opt/cheminBLABLA_test/LM720567/2022 Trends to Watch Broadband PDF.pdf
michel@debbull:~$ 

=======
Ce sera un peu moins sélectif,
mais essaye en remplaçant la ligne :

        sansLM="${sansPlus//LM+([[:digit:]])--original--}"

par

        sansLM="${sansPlus//LM*--original--}"

Dernière modification par MicP (Le 17/11/2021, à 15:22)

Hors ligne

#34 Le 17/11/2021, à 11:18

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Bah effectivement je ne comprends pas pourquoi ...
J'avais déja essayé avec le * à la place du "digit" mais ça me donne exactement le même résultat ...

La vraiment je suis largué hmm

En tout cas merci bcp pour ton aide !

Hors ligne

#35 Le 17/11/2021, à 20:09

kamaris

Re : [Résolu] Script parcours arborescence pour renommage

Je pense qu'il faut ajouter

shopt -s extglob

Sourcer un script dans un environnement où extglob est actif est différent d'exécuter ce script (implicitement : dans son propre environnement).

Dernière modification par kamaris (Le 17/11/2021, à 20:11)

Hors ligne

#36 Le 17/11/2021, à 21:12

MicP

Re : [Résolu] Script parcours arborescence pour renommage

Effectivement, si l'option extglob est désactivée,
il vaudra mieux utiliser :

sansLM="${sansPlus//LM*--original--}"

Sans extglob :

michel@debbull:~$ shopt -u extglob; shopt extglob 
extglob        	off
michel@debbull:~$ 
michel@debbull:~$ sansPlus="${nomFich//+/ }"; echo $sansPlus
LM720567--original--2022 Trends to Watch Broadband PDF.pdf
michel@debbull:~$ 
michel@debbull:~$ sansLM="${sansPlus//LM+([[:digit:]])--original--}"; echo $sansLM
LM720567--original--2022 Trends to Watch Broadband PDF.pdf
michel@debbull:~$ ###  ça n'a pas fonctionné    ###
michel@debbull:~$ 
michel@debbull:~$ ###  mais c'est OK ci-dessous ###
michel@debbull:~$ sansLM="${sansPlus//LM*--original--}"; echo $sansLM
2022 Trends to Watch Broadband PDF.pdf
michel@debbull:~$ 

Avec extglob :

michel@debbull:~$ shopt -s extglob; shopt extglob 
extglob        	on
michel@debbull:~$ 
michel@debbull:~$ sansLM="${sansPlus//LM+([[:digit:]])--original--}"; echo $sansLM
2022 Trends to Watch Broadband PDF.pdf
michel@debbull:~$ 

=======
Par défaut, sur Debian et Ubuntu
extglob est activé.

Dernière modification par MicP (Le 17/11/2021, à 21:22)

Hors ligne

#37 Le 18/11/2021, à 16:13

Terminus78

Re : [Résolu] Script parcours arborescence pour renommage

Bonjour,

Merci effectivement c'était ça le petit soucis bien vu wink
Merci encore pour votre aide !

Hors ligne