GNU/Linux >> Tutoriels Linux >  >> Linux

Comment renommer des fichiers avec des espaces à l'aide du shell Linux ?

Évadez-vous de l'espace, par ex. Spring\ 2011 , ou utilisez des guillemets, par ex. 'Spring 2011' . À l'avenir, il est généralement déconseillé d'utiliser des noms de fichiers contenant des espaces sur n'importe quel *NIX.

Si vous avez rename , vous pouvez utiliser ceci :

rename ' ' '_' [filenames...]

Si votre machine a la commande renommer, cela changera tous les espaces en traits de soulignement dans tous les fichiers/répertoires du répertoire de travail actuel :

rename 's/ /_/g' *

Si vous n'avez pas rename ou préférez utiliser uniquement le shell :

for f in *\ *; do mv "$f" "${f// /_}"; done

En panne :

  • *\ * sélectionne tous les fichiers avec un espace dans leur nom comme entrée pour le for boucle. Le motif *X* sélectionne tous les fichiers avec X dans leur nom, et pour l'espace de caractère spécial, nous devons l'échapper avec une barre oblique afin que bash ne le traite pas comme séparant différents arguments.
  • Les guillemets autour de "$f" sont importants car nous savons qu'il y a un espace dans le nom de fichier et sinon il apparaîtrait comme 2+ arguments à mv .
  • ${f//str/new_str} est une fonction de substitution de chaîne spécifique à bash. Toutes les instances de str sont remplacés par new_str .

Linux
  1. Comment renommer des fichiers sous Linux

  2. Utilisation de la commande Linux find – Utilisation avec des exemples

  3. Comment renommer plusieurs fichiers à l'aide de Find ?

  4. Comment compresser et extraire des fichiers à l'aide de la commande tar sous Linux ?

  5. Comment le shell BASH charge ses fichiers de configuration sous Linux

Comment renommer des fichiers en utilisant la ligne de commande sous Linux

Comment renommer un ou plusieurs fichiers sous Linux

Comment remplacer les espaces dans les noms de fichiers par des traits de soulignement sur le shell Linux

Comment rechercher des fichiers avec la commande fd sous Linux

Comment déterminer ce qui utilise le plus d'espace disque sur un serveur Linux ?

Comment télécharger des fichiers dans Rocky Linux 8 sur la ligne de commande à l'aide de wget