Rechercher : dans
Par :

BASH+lister les fichiers d'un répertoire

Dernière réponse le 18 fév 2009 à 15:26:14 steffy74, le 17 fév 2009 à 13:56:52 
 Signaler ce message aux modérateurs

Bonjour,

J'ai un répertoire dans lequel sont déposés des fichiers à traiter ensuite. Ces fichiers doivent être nommés de la façon suivante : AAA_D_<date>
J'ai un fichier qui contient une liste des "codes" à traiter afin de ne pas traiter n'importe quel fichier qui aurait été déposé la par erreur.
Je fais donc :

for i in `find ./monRepertoire -type f `
		do
                      nom_fichier=$(echo $i | awk 'BEGIN{FS="/"} {print $3}')
                      code = "$(echo $nom_fichier | awk -F_ '{print $1}')_$(echo $nom_fichier | awk -F_ '{print $2}')"
               done
     


ex : dans le repertoire j'ai "AAA_D_200902.txt","BBB_D_2009.txt" et par erreur "nouveau document texte .txt"

pour AAA_D_200902.txt : code=AAA_D => correct (idem pour BBB_D_200902)

Le fichier qui comporte des espaces me pose probleme car le find découpe par rapport à l'espace (si j'ai bien compris)
Comment pourrais-je dans un premier temps déplacer les fichiers (dans un repertoire "poubelle" qui ne sont pas de la forme 3caracteres_1cararctere_<date> ??

Je ne suis pas sure d'avoir été très claire mais si quelqu'un avait un tuyau
Merci
Configuration: Windows XP
Firefox 3.0.4

Meilleures réponses pour « BASH+lister les fichiers d'un répertoire » dans :
[Windows] Obtenir la liste des fichiers d'un dossier Voir Lister le contenu d'un dossier Voici une astuce simple qui permet de lister le nom des fichiers contenus dans un répertoire. Vous pourrez obtenir en un clic les titres de vos chansons, de vos photos, etc. dans un fichier...
[MS-Dos] Lister le contenu d'un répertoire dans un fichier VoirIl peut s'avérer pratique d'effectuer le listage d'un ou plusieurs répertoires dans un fichier, afin de tenir par exemple un catalogue de fichiers. Sous MS-Dos (ou sous Windows en ouvrant une fenêtre d'invite de commande MS-Dos) il est possible...
[PHP] Lister le contenu d'un répertoire VoirGrâce à PHP, il est possible d'afficher le contenu d'un répertoire et de ses sous-répertoires. Voici ci-dessous une fonction permettant de parcourir récursivement les répertoires et sous-répertoires et d'en afficher les fichiers : function...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...
Listes et énumérations en HTML VoirLes listes Une liste est un paragraphe structuré contenant une suite d'articles. Le langage HTML définit trois types de listes : La liste ordonnée ; La liste non ordonnée ; La liste de définition. Liste ordonnée Conteneur Type de...
Microsoft Windows - La base de registre VoirQu'est-ce que la base de registres Dans la version 3.1 de Microsoft Windows, les applications installées étaient configurées vis-à-vis de Windows grâce à des fichiers de configuration (dont l'extension était .ini). D'autre part, deux fichiers de...
Formats et extensions de fichiers VoirQu'est-ce qu'un type MIME ? Le type MIME (Multipurpose Internet Mail Extensions) est un standard qui a été proposé par les laboratoires Bell Communications en 1991 afin d'étendre les possibilités du courrier électronique (mail), c'est-à-dire de...

1

jipicy, le 17 fév 2009 à 18:58:47

Salut,

[rep]$ tree
.
|-- AAA_D_200902.txt
|-- BBB_D_2009.txt
|-- nouveau document texte .txt
`-- poubelle

1 directory, 3 files

[rep]$ for fich in "$(ls *.* | egrep -v '[A-Z]{3}_[A-Z]{1}_.*')"; do mv "$fich" poubelle/ ;done

[rep]$ tree
.
|-- AAA_D_200902.txt
|-- BBB_D_2009.txt
`-- poubelle
    `-- nouveau document texte .txt

1 directory, 3 files

[rep]$ 
;-))
$ man woman
Il n'y a pas de page de manuel pour woman.

Répondre à jipicy

2

 steffy74, le 18 fév 2009 à 15:26:14

Merci,
Je vais prendre votre solution car j'avais trouvé une autre astuce mais la votre me convient mieux.
En fait je commençais par parcourir mes fichiers et remplacer les espaces par des _ et ensuite je les déplaçais dans poubelle

Merci

Répondre à steffy74