#1 Le 27/12/2021, à 23:25
- iznobe
[resolu] commande pour supprimer les espaces dans les chemins fichiers
Bonjour , je cherche une commande ( de preference rapide en temps d ' execution ) utilisable dans un script bash pour supprimer les espaces de chemin de fichiers qui remplacerait ca :
# traitement des espaces
j=$(echo "$i" | sed "s/\ \ */\ /g")
j=${j##*( )}
j=${j%%*( )}
#suppression des espaces de début et de fin
j=$(echo $i)
# suppression de l'espace qui suit le caractère /
j=$(echo "$j" | sed "s#/ #/#g")
# suppression de l'espace qui précède le caractère /
j=$(echo "$j" | sed "s# /#/#g")
pas forcement regex , pas forcement avec sed , mais la plus rapide possible a executer et qui gere les chemins de fichiers en ne laissant qu ' un seul espace entre 2 caracteres autres que les "/" , exemple :
/ rep1 / re p2 / d o c .test
le resultat attendu devrait etre :
/rep1/re p2/d o c .test
n ' etant pas super doué dans cet exercice , je m ' en remet a ceux qui savent faire ce genre de chose .
Dernière modification par iznobe (Le 28/12/2021, à 02:12)
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne
#2 Le 28/12/2021, à 00:27
- MicP
Re : [resolu] commande pour supprimer les espaces dans les chemins fichiers
Bonjour
j=$(sed 's/ \{1,\}/ /g;s#/ #/#g;s# /#/#g' <<< $i)
Ce qui donne :
$ i='/ rep1 / re p2 / d o c .test'
$ sed 's/ \{1,\}/ /g;s#/ #/#g;s# /#/#g' <<< $i
/rep1/re p2/d o c .test
Dernière modification par MicP (Le 28/12/2021, à 00:47)
Hors ligne
#3 Le 28/12/2021, à 00:37
- Watael
Re : [resolu] commande pour supprimer les espaces dans les chemins fichiers
$ v='/ rep1 / re p2 / d o c .test'
$ echo $v | sed 's@ */ *@/@g'
/rep1/re p2/d o c .test
Connected \o/
Welcome to sHell. · eval is evil.
En ligne
#4 Le 28/12/2021, à 02:11
- iznobe
Re : [resolu] commande pour supprimer les espaces dans les chemins fichiers
Merci a vous 2 pour vos suggestions !
la solution de @watael a l' air de fonctionner impecable , je l' ai du coup integré dans le " script " pour mettre en conformité les noms pour partage samba voir https://forum.ubuntu-fr.org/viewtopic.p … #p22519347
retour COMPLET et utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .
Hors ligne