Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#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