Scritp linux ??
Résolu/Fermé
CHRIS_031
Messages postés
39
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007
-
25 nov. 2006 à 15:09
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 27 nov. 2006 à 22:48
asevere Messages postés 13084 Date d'inscription lundi 28 janvier 2002 Statut Webmaster Dernière intervention 3 février 2022 - 27 nov. 2006 à 22:48
A voir également:
- Scritp linux ??
- Linux mint - Télécharger - Systèmes d'exploitation
- Diskinternals linux reader - Télécharger - Stockage
- Linux live usb creator - Télécharger - Outils Internet
- Play on linux - Télécharger - Divers Utilitaires
- Distribution linux - Guide
3 réponses
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
25 nov. 2006 à 19:54
25 nov. 2006 à 19:54
Salut,
en fonction de leur droit en ecriture ou en lecture
Pour qui ?
Sinon, pour t'aider un peu sans toutefois faire ton exercice, regarde les pages de "man" de :
ls (-l)
grep (^d)
sort (et l'option "-k")
;-))
en fonction de leur droit en ecriture ou en lecture
Pour qui ?
Sinon, pour t'aider un peu sans toutefois faire ton exercice, regarde les pages de "man" de :
ls (-l)
grep (^d)
sort (et l'option "-k")
;-))
CHRIS_031
Messages postés
39
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007
2
27 nov. 2006 à 14:51
27 nov. 2006 à 14:51
ben en faite je connait ces commandes mais j'y pige que dalle sous linux mais bon c'est pas grave avec un peu de perseverence on va bien finir pas y arriver
merci qd meme a tous
@+
merci qd meme a tous
@+
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
27 nov. 2006 à 21:47
27 nov. 2006 à 21:47
Pourtant, tout est dans le manuel...
Pour avoir les pages man en français (au cas ou) dans une console tu fais:
Pour faire une recherche dans un page man, tu tapes /ma recherche puis entré, et n pour faire défiler.
La première ligne de find:
La première ligne de sort:
A partir de la, en recherchant les fichier voulu et en faisant un tri, tu devrais avoir le résultat attendu.
Les indices qu'on t'a donné:
find: -maxdepth, -type, -printf
sort: -k
Commençons par sort:
la recherche de -k dans le manuel de sort donne:
Un peu plus haut dans le manuel:
Donc, si tu passes a sort une liste contenant "permissions<séparateur>dossier", ça devrait passer.
Passons à find:
Recherche de "-maxdepth"
Si tu ne veut chercher que dans le répertoire courant sans aller dans les sous répertoire, -maxdepth 1 fait l'affaire.
Recherche de "-type",
En l'occurrence, tu cherche a trouver des dossier, donc -type d
Récapitulons:
Il reste a avoir l'affichage souhaité (permission<séparateur>dossier)
Recherche de "-printf",
En lisant le tout, tu reperes pour le format, les deux directives suivantes:
La commande find précédente devient
Qui te retourne quelque chose du genre:
Combiné a sort vu plus haut,
Tu obtiens:
Pour avoir les pages man en français (au cas ou) dans une console tu fais:
$ export LANG=fr_FR.UTF-8
Pour faire une recherche dans un page man, tu tapes /ma recherche puis entré, et n pour faire défiler.
La première ligne de find:
FIND(1L) Manuel de l’utilisateur Linux FIND(1L) NOM find - Rechercher des fichiers dans une hiérarchie de répertoires.
La première ligne de sort:
SORT(1) Manuel de l’utilisateur Linux SORT(1) NOM sort - Trier les lignes d’un fichier texte.
A partir de la, en recherchant les fichier voulu et en faisant un tri, tu devrais avoir le résultat attendu.
Les indices qu'on t'a donné:
find: -maxdepth, -type, -printf
sort: -k
Commençons par sort:
la recherche de -k dans le manuel de sort donne:
-k POS1[,POS2] Une autre syntaxe possible pour indiquer les clés de tri. Les positions des champs et des caractères sont numérotées à partir de 1.
Un peu plus haut dans le manuel:
-t caractère_séparateur Utiliser le caractère_séparateur afin de distinguer les champs pour rechercher la clé de tri sur chaque ligne. Par défaut le séparateur de champs est une chaîne blanche entre chaînes non- blanches. Ceci signifie qu’avec l’entrée ‘ foo bar’, sort dis- tingue deux champs ‘ foo’ et ‘ bar’. Le séparateur n’appartient ni au champ précédent, ni au champ suivant.
Donc, si tu passes a sort une liste contenant "permissions<séparateur>dossier", ça devrait passer.
Passons à find:
Recherche de "-maxdepth"
, -maxdepth n Descendre au plus n niveaux (n étant un entier positif ou nul), dans les répertoires parcourus. ‘-maxdepth 0’ signifie que les tests et les actions ne s’appliquent qu’aux arguments de la ligne de commande.
Si tu ne veut chercher que dans le répertoire courant sans aller dans les sous répertoire, -maxdepth 1 fait l'affaire.
Recherche de "-type",
-type c Fichier du type c : b fichier spécial en mode bloc (avec tampon) c fichier spécial en mode caractère (sans tampon) d répertoire p tube nommé (FIFO) f fichier régulier l liens symbolique s socket
En l'occurrence, tu cherche a trouver des dossier, donc -type d
Récapitulons:
find -maxdepth 1 -type dte liste tout les répertoires se trouvant directement dans le répertoire courant.
Il reste a avoir l'affichage souhaité (permission<séparateur>dossier)
Recherche de "-printf",
-printf format vrai ; affiche le format indiqué sur la sortie standard, en interprétant les séquences d’échappement ‘\’ et les direc- tives‘%’. La largeur et la précision des champs peuvent être spécifiés comme dans la fonction printf(3) du langage C. Con- trairement à -print, -printf n’ajoute pas de saut de ligne à la fin de la chaîne. Les séquences d’échappement et les directives % sont les suivantes : \a Sonnerie. \b Effacement Arrière (Backspace) \c Arrêter immédiatement l’impression du format et vider le flux de sortie. \f Saut de page ...
En lisant le tout, tu reperes pour le format, les deux directives suivantes:
%m Bits d’autorisation d’accès au fichier (en octal). %p Nom du fichier.
La commande find précédente devient
find -maxdepth 1 -type d -printf "%m;%p\n"(séparateur de champ: ";")
Qui te retourne quelque chose du genre:
700;. 755;./.icons 700;./.gconfd 775;./.mozilla 700;./.metacity 700;./.gnome 775;./.gdesklets
Combiné a sort vu plus haut,
find -maxdepth 1 -type d -printf "%m;%p\n" | sort -t";" -k1
Tu obtiens:
700;. 700;./.gconfd 700;./.metacity 700;./.gnome 755;./.icons 775;./.mozilla 775;./.gdeskletsCe qui ressemble a la liste désirée ordonnée par droits d'accés, aprés libre a toi de retravailler la sortie :)
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
4 895
27 nov. 2006 à 22:36
27 nov. 2006 à 22:36
Tu devrais passer plus souvent toi, surtout si t'as de belles explications comme ça dans tes bagages ;-))
asevere
Messages postés
13084
Date d'inscription
lundi 28 janvier 2002
Statut
Webmaster
Dernière intervention
3 février 2022
426
>
jipicy
Messages postés
40842
Date d'inscription
jeudi 28 août 2003
Statut
Modérateur
Dernière intervention
10 août 2020
27 nov. 2006 à 22:48
27 nov. 2006 à 22:48
Ben en fait, c'est plus le temps qui me fait défaut que les explications. Mais ça fait plaisir une fois de temps en temps, ça détend :)
CHRIS_031
Messages postés
39
Date d'inscription
dimanche 8 octobre 2006
Statut
Membre
Dernière intervention
3 décembre 2007
2
27 nov. 2006 à 22:36
27 nov. 2006 à 22:36
encore merci a tous si la la je ne m'en sort pas je part en boucherie
lol
merci beaucoup pour votre aide si precieuse
@+
lol
merci beaucoup pour votre aide si precieuse
@+
25 nov. 2006 à 23:35
J'aurais retiré ls et grep, puis ajouter man find (-type, -printf) :)
26 nov. 2006 à 10:36
Euh... ça va pas faire un peu trop de paramètres ça ???
find . -maxdepth x -type n -etc,etc... -exec ... | sort ...
;-)
Édit : Je viens de m'apercevoir que j'ai zappé l'option "-perm", donc, j'ai rien dit ;-(
26 nov. 2006 à 16:11
-maxdepth (éventuellement)
-type (surement)
-printf (aussi "%m;%p\n")
et sort ... :)
26 nov. 2006 à 16:22