Passer au contenu

Comment récupérer les noms de fichiers avec espace ?

Solution : en utilisant les guillemets.

Testé avec Mandrake 8.0/SuSE 7.2Vous avez créé des noms de fichiers contenant des espaces, mais lorsque vous essayez de leur appliquer des traitements via des scripts, vous obtenez des messages d’erreur. En effet, le système considère les espaces comme des séparateurs pour les options des commandes. Il existe néanmoins une astuce pour échapper à ces messages d’erreur : les guillemets. Pour vous en convaincre, créez le fichier mon fichier à l’aide de la commande touch ~/”mon fichier”. Ajoutez le répertoire dirtest à votre répertoire utilisateur en entrant mkdir ~/dirtest. Puis, tapez la commande for file in ~/mo*; do cp $file ~/dirtest/; done. Elle copie tous les fichiers dont le nom commence par mo dans le dossier ~/dirtest/. Le message cp: cannot stat `mon’: Aucun fichier ou répertoire de ce type s’affiche alors. En revanche, si vous saisissez for file in ~/mo*; do cp “$file” ~/dirtest/; done, le fichier mon fichier sera copié dans ~/dirtest/.Exemple dutilisation des guillemets


fred@serveur2:~ > touch “mon fichier”
fred@serveur2:~ > ls mo*
mon fichier
fred@serveur2:~ > rm -f dirtest/*
fred@serveur2:~ > ls dirtest/
fred@serveur2:~ > for file in ~/mo*; do cp “$file” ~/dirtest/; done
fred@serveur2:~ > ls dirtest/
mon fichier

🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.


Filigrane Press