Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
1591 connectés 

  FORUM HardWare.fr
  Linux et OS Alternatifs

  nom de fichiers de + de 64 caractères

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

nom de fichiers de + de 64 caractères

n°628044
jotenakis
Posté le 28-01-2005 à 16:33:21  profilanswer
 

Je cherche un script me sortant le nom et l'emplacement de tous les fichiers dont le nom dépasse 64 caractéres. Ces fichiers pouvant être dans une arborescence complexe.
 
 Vous avez une idée pour faire ça ?


---------------
Jotenakis
mood
Publicité
Posté le 28-01-2005 à 16:33:21  profilanswer
 

n°628067
THRAK
- THR4K -
Posté le 28-01-2005 à 17:46:32  profilanswer
 

Avec find (à creuser), par ex:

Code :
  1. for i in `find / -name "????????????????????????????????????????????????????????????????*"` ; do echo "Fichier :  $i " ; done


Suffit de lancer la commande dans un shell, ou alors éventuellement de le mettre dans un fichier exécutable. Le signe / (racine) peut être remplacée par n'importe quel emplacement de recherche souhaité. Sont alors renvoyé tous les fichier dont le nom fait au minimum 64 caractères (indépendamment de leur extension). La sortie et les résultats de recherche obtenus sont affichés sur l'écran.
 
 
Il peut être utile cependant d'avoir une sortie fichier ; le plus simple est alors de créer un fichier vierge à cet effet (supposons qu'on le crée dans /home/user et qu'il se nomme listfiles.txt) et d'utiliser le script suivant :

Code :
  1. for i in `find / -name "????????????????????????????????????????????????????????????????*.*"` ; do echo "Fichier :  $i " >> /home/user/listfiles.txt ; done


 
 
Y a peut être plus élégant au niveau au niveau du motif de test, mais c'est fonctionnel...  ;)


---------------
THRAK (def.) : 1) A sudden and precise impact moving from intention, direction and commitment, in service of an aim. 2) 117 guitars almost striking the same chord simultaneously.
n°628068
jdloic
Posté le 28-01-2005 à 17:46:47  profilanswer
 

Rechercher le 65 caractère du nom de fichier...
 

#!/bin/sh
 
find . -type f | while read i; do
 
    car65=$(basename $i | cut -c 65)
    [ ! -z $car65  ] && echo $i
 
done


n°628096
jotenakis
Posté le 28-01-2005 à 18:44:54  profilanswer
 

le problème du find c'est qu'il sort le nom + le chemin du fichier.


---------------
Jotenakis
n°628148
Dark_Schne​ider
Close the World, Open the Net
Posté le 28-01-2005 à 19:57:46  profilanswer
 

basename permet de régler le pb en ne gardant que le nom du fichier


---------------
Mandriva : parce que nous le valons bien ! http://linux-wizard.net/index.php
n°628159
jotenakis
Posté le 28-01-2005 à 20:20:52  profilanswer
 

en effet.
Je me prends  
basename: Trop de arguments.
Pour en savoir davantage, faites: « basename --help ».
 
avec le script ci-dessus. Ya pas un soucis quand il ya un espace dans le nom ?


---------------
Jotenakis
n°628160
ceric35
Posté le 28-01-2005 à 20:27:36  profilanswer
 

Il faut ajouter des guillemets  
 

Citation :

car65=$(basename "$i" | cut -c 65)


 

n°628167
jotenakis
Posté le 28-01-2005 à 20:30:14  profilanswer
 

oups. évidemment.
 
merci bien.


---------------
Jotenakis
n°628168
jotenakis
Posté le 28-01-2005 à 20:33:50  profilanswer
 

ça semble impec. Ce script permet de visualiser les fichiers non conforme à la norme joliet. (du moins pour la longueur des fichiers)


Message édité par jotenakis le 28-01-2005 à 20:34:19

---------------
Jotenakis
n°628237
jdloic
Posté le 28-01-2005 à 23:48:25  profilanswer
 

ceric35 a écrit :

Il faut ajouter des guillemets  
 

Citation :

car65=$(basename "$i" | cut -c 65)



 
Effectivement mais dans ce cas, si le 65ème caractère est un espace ça marche pas.
 
Solution: remplacer les espaces du nom de fichier par un autre caractère ("_" )
car65=$(basename "$i" | sed -e 's/\ /_/' | cut -c 65)


Message édité par jdloic le 28-01-2005 à 23:48:54
mood
Publicité
Posté le 28-01-2005 à 23:48:25  profilanswer
 

n°628238
ceric35
Posté le 29-01-2005 à 00:03:41  profilanswer
 

On peut aussi tout simplement utiliser la fonction

expr length "chaine"

qui renvoie la longueur d'une chaine  ;)


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Linux et OS Alternatifs

  nom de fichiers de + de 64 caractères

 

Sujets relatifs
[Debian] Caractères bizarres..Probleme avec 4 fichiers qui foute la merde!
Prob droits d'accès fichiers partagés via samba[DEBIAN]Mon system crée des fichiers aux extentions bizarre
Nautilus: lenteurs sur la suppression de fichierspartager les fichiers windows avec linux
[kde] Petite question sur le gestionnaire de fichiersretour d'experience : cyrus et systeme de fichiers reseau
tar , recuperer les fichiers maj depuis la drniere archive.caracteres qui ne passent sous firefox
Plus de sujets relatifs à : nom de fichiers de + de 64 caractères


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR