#1 Le 03/05/2018, à 18:22
- Monsieur_cieux
Fichier de sortie de contenue sur une arborescece donnée
Bonjour à tous, d'abord merci pour ce forum qui lors de mon apprentissage de l'univers UNIX m'a toujours été du très grand secours. J’essaie de développer mes habillées à faire de petits Shell simples. Vous trouverez surement que la solution est for simple, mais lors de mes tests d'essaies et d'erreurs, je n'ai pas encore trouvé une solution efficace à mon questionnement.
Mon but est de créé un fichier qui contiendrai automatiserais la procédure suivante:
J'ai une telle arborescence:
.
├── dossier_1
│ ├── fichier_1
│ ├── fichier_2
│ ├── fichier_3
│ └── fichier_4
│
├── dossier_2
│ ├── fichier_1
│ └── fichier_2
│
│── dossier_3
│ ├── fichier_1
│ └── fichier_2
└───testcode.sh
Dans le répertoire parent, je me fais un Shell dans lequel je demande que dans chaque répertoires soit créé un sous répertoire que je nomme «composition». dans lequel j'aurais un fichier «composition.txt»
Voici mon code de newb
for folder in */
do
mkdir "$folder/composition"
touch ls "$folder/composition/composotion.txt"
done
Ça marche très bien et ça me donne cette nouvelle arborescence:
.
├── dossier_1
│ ├── fichier_1
│ ├── fichier_2
│ ├── fichier_3
│ ├── fichier_4
│ └── composition
│ └── composition.txt
├── dossier_2
│ ├── fichier_1
│ ├── fichier_2
│ └── composition
│ └── composition.txt
└── dossier_3
│ ├── fichier_1
│ ├── fichier_2
│ └── composition
│ └── composition.txt
└───testcode.sh
Maintenant, ce que je veux faire c'est une liste de ce qui est dans les dossiers (dossier_1, dossier_2, dossier_) et que cette liste soit injectée dans les fichiers «composition.txt» nouvellement créés
J'essaie ceci
for folder in */
do
ls "$folder > $folder/composition/composition.txt"
done
Mon UNIX me revoit cette erreur
ls: cannot access ' > /composition/composition.txt': No such file or directory
Avec vous une idées de ce que pourrais faire pour arriver à mes fins?
Merci d'avance pour le temps que vous avez investie dans la lecture de ce post.
Dernière modification par Monsieur_cieux (Le 03/05/2018, à 18:28)
Dévisse ton p'tit boulon!
Hors ligne
#2 Le 03/05/2018, à 18:51
- pingouinux
Re : Fichier de sortie de contenue sur une arborescece donnée
Bonjour,
Essaye :
for folder in */
do
ls "$folder" > "$folder/composition/composition.txt"
done
Tu as dû aussi créer sans le vouloie un fichier ls dans le répertoire courant.
Hors ligne
#3 Le 03/05/2018, à 19:37
- Watael
Re : Fichier de sortie de contenue sur une arborescece donnée
ls est inutile :
printf '%s\n' "$folder/"* > "$folder/composition/composition.txt"
Connected \o/
Welcome to sHell. · eval is evil.
En ligne