Resolu - Caracteres permis dans noms de fichier sous Linux

Resolu - Caracteres permis dans noms de fichier sous Linux

Messagepar Lindbergh » 25 Juil 2007, 01:41

Bonjour,

Je tente actuellement d'enlever tous les espacements de mes noms de fichiers au moyen d'un script bash mais j'ai des problemes justement a cause de ces espacements. J'avais deja lu quelque part que l'on pouvait avoir des problemes sous Linux avec les espacements dans les noms de fichiers. Maintenant, j'en sais quelque chose.

Mais avant d'adopter un format final pour le nom des fichiers, je voudrais savoir si l'inclusion d'autres symboles pourrait poser des problemes similaires a ceux creer par le caractere espacement. Lorsque je parle d'eventuels problemes, je fais uniquement allusion a l'ecriture de fichiers script bash. Idealement, les noms de fichiers ne devraient inclure que les caracteres alphanumeriques et l'underscore ("_"). Mais il est commode parfois d'inclure d'autres signes.

Donc, est-ce qu'on peut avoir des problemes en mettant les symboles suivants dans les noms de fichier?

a) trait d'union : -
b) parentheses : ( )
c) parentheses carres : [ ]
d) apostrophe : '
e) voyelles avec des accents

Merci, :wink:
Dernière édition par Lindbergh le 13 Oct 2007, 12:21, édité 1 fois au total.
ASUS P5GDC Deluxe, carte graphique MSI NX6600LE, mémoire 1024 Mo, disque dur WD 500 Go, moniteur VIEWSONIC UltraBrite 19'' A91f+, lecteur optique NEC CD-R, Windows XP Pro
Lindbergh
 
Messages: 77
Inscrit le: 30 Juin 2006, 21:09
Localisation: Montréal

Messagepar philefou » 10 Sep 2007, 14:55

Bonjour,

Je viens de vérifier le tout et il n'y a pas de problème à ajouter ces caractères spéciaux dans les noms de fichiers.

Cependant (là où est surement votre problème): vous devez écrire un \ avant les caractères ( , ) et ' .

Donc par exemple un fichier dont le nom est foo.bar et devrait être foo().bar :

mv foo.bar foo\(\).bar

--------------
ps: Pour renommer un fichier avec des [ ] dans le nom de fichier, tu dois aussi utiliser le \.
J'espère que ça pourra vous aider.
philefou
 
Messages: 36
Inscrit le: 10 Mars 2007, 00:51
Localisation: Montréal

Messagepar Lindbergh » 10 Sep 2007, 15:24

Salut philefou,

Oui, j'ai lu ça dernièrement dans un document relatif à la commande sed. En principe, ça ne devrait pas poser de problèmes.

Mais avant d'adopter cette convention, je vais faire des tests dans quelques semaines avec les commandes sed et awk pour savoir si je peux modifier, avec des scripts shell, les noms de fichiers qui comportent ces caractères spéciaux.

Merci de ta réponse, :wink:
ASUS P5GDC Deluxe, carte graphique MSI NX6600LE, mémoire 1024 Mo, disque dur WD 500 Go, moniteur VIEWSONIC UltraBrite 19'' A91f+, lecteur optique NEC CD-R, Windows XP Pro
Lindbergh
 
Messages: 77
Inscrit le: 30 Juin 2006, 21:09
Localisation: Montréal

Messagepar philefou » 11 Sep 2007, 11:10

Quel genre de script que tu veux faire?
philefou
 
Messages: 36
Inscrit le: 10 Mars 2007, 00:51
Localisation: Montréal

Messagepar Lindbergh » 13 Sep 2007, 13:22

Bonjour,

Le but de mes scripts serait d'interroger des bases de donnees qui seraient constituees par des noms de fichiers dans des repertoires. Prenons un repertoire constitue uniquement d'images.

Par exemple, je peux prendre le fichier ngc_4414.jpg (qui represente une galaxie) et le renommer ngc_4414[726x599](1998).jpg
ou j'ai ajouter certaines proprietes du fichier : la resolution entre les parentheses carrees [ ] et l'annee entre les parentheses ordinaires ( ).

De cette facon, je peux interroger mon repertoire d'images avec un simple script shell en demandant d'extraire les caracteres entre les symboles en question et extraire les photos prises avant 1990 par exemple, ceux qui ont une resolution superieure a 800X624, etc..

Mon repertoire devient en quelque sorte une petite base de donnees.

Je veux faire de meme avec la musique, video, documents, etc en ajoutant d'autres proprietes en utilisant d'autres caracteres tels le trait d'union - , le trait souligne _ etc...

C'est pour cette raison que je voulais savoir absolument quels caracteres autres que les caracteres alphanumeriques on peut mettre dans un nom de fichier sous Linux.


Merci de ta contribution philefou, :wink:
ASUS P5GDC Deluxe, carte graphique MSI NX6600LE, mémoire 1024 Mo, disque dur WD 500 Go, moniteur VIEWSONIC UltraBrite 19'' A91f+, lecteur optique NEC CD-R, Windows XP Pro
Lindbergh
 
Messages: 77
Inscrit le: 30 Juin 2006, 21:09
Localisation: Montréal

Messagepar Lindbergh » 11 Oct 2007, 23:49

Bonsoir,

Je ne sais pas si certains metacaracteres presents dans les noms de fichiers peuvent poser des problemes dans certains scripts mais chose certaine, apres verification, on peut aisement les supprimer des noms de fichiers. C'est ce qui compte finalement.

Salutations, :wink:
ASUS P5GDC Deluxe, carte graphique MSI NX6600LE, mémoire 1024 Mo, disque dur WD 500 Go, moniteur VIEWSONIC UltraBrite 19'' A91f+, lecteur optique NEC CD-R, Windows XP Pro
Lindbergh
 
Messages: 77
Inscrit le: 30 Juin 2006, 21:09
Localisation: Montréal


Retour vers Linux

Qui est en ligne ?

Utilisateur(s) parcourant actuellement ce forum : Aucun utilisateur inscrit et 1 invité

cron