Bonjour, et joyeuses fêtes
Quand je fais :
find /tmp/./ -name *.exe
J'ai un résultat suivant
/tmp/./path/path windows avec des blancs/files1.exe
/tmp/./path/path windows avec des blancs/files2.exe
J'aimerais avoir les resultat suivant :
/tmp/./path/path\ windows\ avec\ des\ blancs/files1.exe
/tmp/./path/path\ windows\ avec\ des\ blancs/files2.exe
J'ai donc essayé :
find /tmp/./ -name *.exe | sed s/\ /_/g
Ce qui ne me convient pas car cela est inexploitable pour le monde UNIX. Le resultat devient :
/tmp/./path/path_windows_avec_des_blancs/files1.exe
J'ai donc essayé :
find /tmp/./ -name *.exe | sed s/\ /'echo -e "\134"'/g )"
Cela fait des erreurs, et comme je suis newbies je n'arrive pas à résoudre mon PB.
Merci de votre aide.
# sed
Posté par Fab . Évalué à 2.
echo /tmp/./path/path windows avec des blancs/files1.exe | sed 's/ /\\ /g'
[^] # Re: sed
Posté par dubis . Évalué à 1.
encore merci c'est exactement ce que je voulais faire ...
Passe de joyeuses fêtes
# print0
Posté par niol (site web personnel) . Évalué à 2.
# oublies pas les "
Posté par gnu_thomas . Évalué à 3.
-name pattern
blabla ...Don't forget to enclose the pattern in quotes in order to protect it from expansion by the shell.
Donc pour information puisque ça ne va pas régler ton pb -name "*.exe"
[^] # Re: oublies pas les "
Posté par dubis . Évalué à 1.
Malheureusement, je n'arrive pas à exploiter les répertoires même en changeant l'affichage du find.
En effet si je fais un :
export trouve="$(find /tmp/./ -name *.exe | sed 's/ /\\ /g' )"
echo $trouve
AMBA
2.0/APB.exe
AMBA
2.0/Bus.exe
etc ....
J'aimerais que la variable "trouve" apparaisse de la forme
AMBA\ 2.0/APB.exe
AMBA\ 2.0/Bus.exe
Ce qui n'est pas le cas.
J'éssaie defaire une boucle qui renomme mes réperoires, ce serai plus facile pour moi
AMBA_2.0/APB.exe
AMBA_2.0/Bus.exe
Mais je n'y arrive pas
C'est en forgeant qu'on devient forgeron, n'est ce pas ?
Merci de votre aide
# J'ai décidé de remplacer les blancs par des underscores
Posté par dubis . Évalué à 1.
for t in * do
export nomd="$(echo $t/ | sed 's/ /\\ /g')"
export rn="$(echo $t/ | sed 's/ /_/g')"
mv "$nomd" "$rn"
done
Voici mon message d'erreur :
mv: cannot access AMBA\ 2.0\ bus
mv: cannot access AMBA\ 2.0\ mouve
mv: cannot access AMBA\ 2.0\ sys
merci de votre aide
[^] # Re: J'ai décidé de remplacer les blancs par des underscores
Posté par dubis . Évalué à 1.
for t in *; do export rn="$(echo $t/ | sed 's/ /_/g')"; mv "$t" "$rn"; done
ça fonctionne
ça y est je dialogue tout seul
Suivre le flux des commentaires
Note : les commentaires appartiennent à celles et ceux qui les ont postés. Nous n’en sommes pas responsables.