Comment supprimer les espaces des noms de fichiers

clavier, comment supprimer les espaces des noms de fichiers

À de nombreuses reprises, vous aurez rencontré des noms de fichiers et des répertoires comportant des espaces intermédiaires dans leurs noms, en particulier ceux provenant de Windows. Ces espaces sont souvent gênants, en particulier lorsque vous travaillez à partir du shell, car vous devez les identifier afin qu'ils ne soient pas traités comme des noms de commande ou des options distincts. Par conséquent, dans ce tutoriel, nous allons voir quelques façons de supprimer les espaces automatiquement.

De plus, nous verrons également comment ceux-ci peuvent être utilisés fichiers ou répertoires dont les noms contiennent des espaces sans vous lancer d'erreur.

Comment utiliser des fichiers et des répertoires avec des espaces

Essayer de espaces d'évasion des noms des fichiers et des répertoires dans le terminal Linux, vous pouvez le faire de ces manières :

  • Inclure "" (guillemets doubles) dans une partie du chemin où il y a des espaces ou dans tout celui-ci. Par exemple:
cd "nombre con espacio"/

  • Utiliser un caractère \ avant chaque espace. Par exemple:
nano nombre\ con\ espacio.txt

De ces manières, vous contourner ces espaces ennuyeux. Maintenant, afin de ne plus avoir à utiliser ces options, ce qui peut être plus gênant, vous pouvez suivre ces étapes…

Comment supprimer les espaces des noms

Maintenant, vous pouvez utiliser diverses méthodes pour que ces espaces de noms cessent d'être un problème pour toujours. Si vous avez un grand nombre de noms avec des espaces, il n'est pas logique de les faire un par un, mais vous pouvez automatiser ces tâches pour supprimer ou remplacer les espaces:

  • Utilisez la commande rename pour cela. Par exemple, la première de ces commandes supprime les espaces de tous les fichiers .txt, tandis que la seconde supprime les espaces de tous les fichiers du répertoire actuel :

renommer 's/\s/_/g' ./*.txt
renommer 's/\s/_/g' ./*.*

  • Utilisez find pour remplacer tous les noms qui ont des espaces, en les remplaçant par _. Par exemple, faites-le avec tous les .txt du répertoire courant ou de tout le FS :
find . -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**find / -type f -name "* *.txt" -exec bash -c 'mv "$0" "${0// /_}"' {} \;

**Attention à la deuxième commande ! Vous pouvez modifier les noms utilisés par certains programmes et les faire cesser de fonctionner.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont marqués avec *

*

*

  1. Responsable des données : AB Internet Networks 2008 SL
  2. Finalité des données: Contrôle du SPAM, gestion des commentaires.
  3. Légitimation: votre consentement
  4. Communication des données: Les données ne seront pas communiquées à des tiers sauf obligation légale.
  5. Stockage des données: base de données hébergée par Occentus Networks (EU)
  6. Droits: à tout moment, vous pouvez limiter, récupérer et supprimer vos informations.