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 28/12/2021, à 00: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, à 03:12)


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

Hors ligne

#2 Le 28/12/2021, à 01: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, à 01:47)

Hors ligne

#3 Le 28/12/2021, à 01: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.

Hors ligne

#4 Le 28/12/2021, à 03: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 utilisable de commande
MSI Z490A-pro , i7 10700 , 32 GB RAM .

Hors ligne