Précédent   Forum des professionnels en informatique > Systèmes > Linux > Applications > Shell
Shell Vos questions sur l'utilisation des commandes shell
Partagez cette discussion sur d'autres réseaux sociaux : Viadeo Twitter Google Facebook Digg Delicious MySpace Yahoo
Réponse Proposer ce sujet en actualité
 
Outils de la discussion
Publicité
'
Vieux 08/05/2008, 03h40   #1
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 114
Points : 39
Points : 39
Par défaut beaucoup de commande à la suite

Bonsoir,

Je bloque sur un problème assez simplet (je vais l'expliquer par l'exemple):

Imaginons que l'on veuille créer des fichiers textes contenant chacun le contenu de la commande man pour la lettre a.
S'il existe 150 commandes commençant par la lettre a alors 150 fichiers textes (se nommant le_nom_de_la_commande.txt) seraient créés.

Les tubes peuvent être une solution mais 150 man ... > le_nom_de_la_commande.txt | man ... > le_nom_de_la_commande.txt | man ... > le_nom_de_la_commande.txt | ......
à la suite ça ne le fait pas .

Autre solution : un script shell mais là encore y'a un souci .
Il faudrait que je liste d'avance les commandes qui existent (man a* > toutesLesCommandesEnA.txt aurait été magique mais... non) mais où sont-elles ?

Pensez-vous que je me dirige bien là ? Il y a bien quelque chose à faire ou c'est non négociable ?

Merci d'avance pour vos suggestions.
styvodiabolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 08/05/2008, 19h23   #2
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 114
Points : 39
Points : 39
Dans le dossier /bin/, il y a pas mal de noms de commande (sont-elles toutes ici ?) et donc il me reste a faire le fameux script shell.

Je vois deja l'algorythme a effectuer mais je manque encore de base pour l'ecrire.

1) Remplir un tableau avec les differents noms de commande.
2) Boucle sur le tableau pour stocker dans des fichiers textes separes les resultats de la commande man valeurCommandeDepuisTableau > commande.txt.

Des idees pour l'edition de ce script ?
styvodiabolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 07h53   #3
Expert Confirmé Sénior
 
Avatar de frp31
 
Homme francois
Ingénieur systèmes et réseaux
Inscription : juillet 2006
Messages : 3 546
Détails du profil
Informations personnelles :
Nom : Homme francois
Âge : 35
Localisation : France, Haute Garonne (Midi Pyrénées)

Informations professionnelles :
Activité : Ingénieur systèmes et réseaux
Secteur : Aéronautique - Marine - Espace - Armement

Informations forums :
Inscription : juillet 2006
Messages : 3 546
Points : 7 779
Points : 7 779
par exemple


for binaire in /bin/a* ; do man $binaire >> fichier_resultat.txt ; done
for binaire in /sbin/a* ; do man $binaire >> fichier_resultat.txt ; done
for binaire in /usr/bin/a* ; do man $binaire >> fichier_resultat.txt ; done
for binaire in /usr/sbin/a* ; do man $binaire >> fichier_resultat.txt ; done

mais je doute de toute façon que ton resultat soit lisible et exploitable donc à par pour l'exemple le man de tous les binaires a* n'est pas une bonne solution.
frp31 est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 14h20   #4
Nouveau Membre du Club
 
Inscription : janvier 2008
Messages : 114
Détails du profil
Informations forums :
Inscription : janvier 2008
Messages : 114
Points : 39
Points : 39
Merci bien frp31,

Il ne le reste plus qu'à savoir pourquoi après un chmod 777 la permission de l'exécuter est toujours refusée...

A tantôt.
styvodiabolo est déconnecté   Envoyer un message privé Réponse avec citation 00
Vieux 09/05/2008, 14h28   #5
Membre Expert
 
Inscription : octobre 2005
Messages : 1 403
Détails du profil
Informations personnelles :
Âge : 33

Informations forums :
Inscription : octobre 2005
Messages : 1 403
Points : 1 600
Points : 1 600
Envoyer un message via MSN à iohack
on améliore un peu en ne prenant que les fichiers et en éliminant les redondances :
Code :
1
2
3
4
 
for BINAIRE in `for REP in bin sbin usr/bin usr/sbin ; do find /${REP} -type f -name "a*" ; done|sort|uniq`;do
   man ${BINAIRE} > ${BINAIRE}.txt
done
iohack est déconnecté   Envoyer un message privé Réponse avec citation 00
Réponse Proposer ce sujet en actualité Cette discussion est résolue.
Outils de la discussion



Fuseau horaire GMT +2. Il est actuellement 15h46.


 
 
 
 
Partenaires

Hébergement Web