[SH] Boucle For Dossier/Fichiers
ZZ2F3
Messages postés
40
Statut
Membre
-
dubcek Messages postés 19021 Statut Contributeur -
dubcek Messages postés 19021 Statut Contributeur -
Bonjour,
Je voudrais avoir un petit peu d'aide quant à mon soucis en Shell.
Je voudrais faire une boucle sur des noms de fichiers contenus dans un dossier connu. Ce dossier ne contient que des fichiers à traiter et en contient forcément.
Est-il possible de faire une boucle sur les fichiers du genre :
Pour chaque fichier du dossier /home/zz2f3... Faire :
Blablabla
Je viens de penser à une éventuelle solution:
Serait-il possible de stocker le résultat de la commande ls sur ce dossier dans une variable (ou un tableau?) pour pouvoir utiliser ces noms de fichiers par la suite?
Merci d'avance à ceux qui prendront le temps (et la peine^^) de me répondre!
Bonne fin de journée.
Je voudrais avoir un petit peu d'aide quant à mon soucis en Shell.
Je voudrais faire une boucle sur des noms de fichiers contenus dans un dossier connu. Ce dossier ne contient que des fichiers à traiter et en contient forcément.
Est-il possible de faire une boucle sur les fichiers du genre :
Pour chaque fichier du dossier /home/zz2f3... Faire :
Blablabla
Je viens de penser à une éventuelle solution:
Serait-il possible de stocker le résultat de la commande ls sur ce dossier dans une variable (ou un tableau?) pour pouvoir utiliser ces noms de fichiers par la suite?
Merci d'avance à ceux qui prendront le temps (et la peine^^) de me répondre!
Bonne fin de journée.
A voir également:
- [SH] Boucle For Dossier/Fichiers
- Downloader for pc - Télécharger - Téléchargement & Transfert
- Dossier appdata - Guide
- Renommer tous les fichiers d'un dossier - Guide
- Impossible de supprimer un dossier - Guide
- Fichiers epub - Guide
3 réponses
ce n'est pas une syntaxe csh, mais sh, ksh ou bash
remplacer la première ligne par #!/bin/bash ou #!/bin/ksh
remplacer la première ligne par #!/bin/bash ou #!/bin/ksh
Salut,
[tmpfs]$ ls
rep/
[tmpfs]$ tree
.
`-- rep
|-- fich1.txt
|-- fich2.txt
|-- fich3.txt
|-- fich4.txt
|-- fich5.txt
|-- fich6.txt
|-- fich7.txt
|-- fich8.txt
`-- fich9.txt
1 directory, 9 files
[tmpfs]$ for fich in rep/*; do echo "fichier trouvé dans le répertoire \"rep\" : " $(basename $fich); done
fichier trouvé dans le répertoire "rep" : fich1.txt
fichier trouvé dans le répertoire "rep" : fich2.txt
fichier trouvé dans le répertoire "rep" : fich3.txt
fichier trouvé dans le répertoire "rep" : fich4.txt
fichier trouvé dans le répertoire "rep" : fich5.txt
fichier trouvé dans le répertoire "rep" : fich6.txt
fichier trouvé dans le répertoire "rep" : fich7.txt
fichier trouvé dans le répertoire "rep" : fich8.txt
fichier trouvé dans le répertoire "rep" : fich9.txt
[tmpfs]$ ;-))
Bonjour,
Désolé de la réponse tardive mais j'ai du faire face à d'autres problèmes désormais résolus en attendant depouvoir tester cette solution.
Malheureusement je n'obtiens pas de résultats mais plutot des erreurs :
> ess
Swarm 2.2 (CVS 20060612)
Mon Jul 14 15:02:11 BST 2008
NOTICE: Invoking /software/sunstudio11/SUNWspro/bin/f90 -f77 -ftrap=%none fich in /home/rb6141/30june/Essai/essai1 /home/rb6141/30june/Essai/essai2 /home/rb6141/30june/Essai/essai3 /home/rb6141/30june/Essai/essai4 /home/rb6141/30june/Essai/essai5
ld: fatal: file fich: open failed: No such file or directory
ld: fatal: file in: open failed: No such file or directory
ld: fatal: file /home/rb6141/30june/Essai/essai1: unknown file type
ld: fatal: File processing errors. No output written to a.out
fich: Undefined variable
Mon script est seulement :
Le contenu de ce dossier /home/rb6141/30june/Essai est 5 fichiers essai&, essai2, essai3, essai4, essai5.
Merci d'avance =)
Bonne journée en ce 14 juillet!
Désolé de la réponse tardive mais j'ai du faire face à d'autres problèmes désormais résolus en attendant depouvoir tester cette solution.
Malheureusement je n'obtiens pas de résultats mais plutot des erreurs :
> ess
Swarm 2.2 (CVS 20060612)
Mon Jul 14 15:02:11 BST 2008
NOTICE: Invoking /software/sunstudio11/SUNWspro/bin/f90 -f77 -ftrap=%none fich in /home/rb6141/30june/Essai/essai1 /home/rb6141/30june/Essai/essai2 /home/rb6141/30june/Essai/essai3 /home/rb6141/30june/Essai/essai4 /home/rb6141/30june/Essai/essai5
ld: fatal: file fich: open failed: No such file or directory
ld: fatal: file in: open failed: No such file or directory
ld: fatal: file /home/rb6141/30june/Essai/essai1: unknown file type
ld: fatal: File processing errors. No output written to a.out
fich: Undefined variable
Mon script est seulement :
#!/usr/bin/csh for fich in /home/rb6141/30june/Essai/*; do echo "fichier trouvé dans le répertoire Essai : " $fich; done
Le contenu de ce dossier /home/rb6141/30june/Essai est 5 fichiers essai&, essai2, essai3, essai4, essai5.
Merci d'avance =)
Bonne journée en ce 14 juillet!