Création
d'entreprise
Posez votre question Signaler

[Bash] Récupérer une ligne particulière [Résolu]

kilian 8802Messages postés 19 septembre 2003Date d'inscription 2 juillet 2011Dernière intervention - Dernière réponse le 5 juil. 2007 à 17:10
Bonsoir,

Dans un repertoire, je fait une évaluation de la taile de tous les fichiers et j'aimerais bien ensuite isoler chaque fichier avec ses propres données...

Rien ne vaut un bon vieux shéma, donc par exemple dans mon /bin je fais un "du" pour chaque fichier:
$ du -ah
620K    ./bash
0       ./rbash
0       ./sh
20K     ./cat
32K     ./chgrp
32K     ./chmod
36K     ./chown

A partir de ce rapport j'aimerais bien isoler chaque ligne pour les placer dans un tableau.
Sans compter que je passe par des filtres avec grep....

Par exemple fichier[0]=620K ./bash
fichier[1]=0 ./rbash
etc...

C'est bizzare, j'ai décortiqué le man grep et j'ai rien trouvé, et j'ai rien vu non plus dans les autres commandes sur les chaines.
Il ya bien "cut " mais pour ça il faut savoir à l'avance ce qu'on a dans le dossier, et le mien risque de changer souvent....

Vous auriez une idée?

Merci d'avance....
Lire la suite 

[Bash] Récupérer une ligne particulière »

4 réponses
Réponse
+2
moins plus
Aaah, merci ça y est j'ai trouvé du coup. (Avec la doc de awk sur Léa)

Pour isoler une ligne particulière, exemple la ligne 17:
du -ah | awk '{print FNR ":"$0}' | grep -E ^17


J'avais pas du tout pensé à ça. En plus c'était faisable sans awk:
du -ah | grep -n * | grep -E ^17


Bon eh bien merci Jipicy :-)
Je vais voir du côté des tableaux maintenant...
_vince- 5 juil. 2007 à 17:10
Awk est plus utile comme ceci:

du -ah | awk 'NR == 17 {print;}'

NR etant le numero de ligne
Ajouter un commentaire
Réponse
+0
moins plus
Salut,

Il faut que tu regardes du côté des filtres "awk" et "sed" et plus particulièrement la fonctionnalité de "awk" à créer des tableaux.
http://www.shellunix.com/awk.html
http://www.shellunix.com/sed.html
Ajouter un commentaire
Réponse
+0
moins plus
j'ai tésté la premiére ligne avec awk ca marche...

par contre la deuxieme sans awk elle ne retourne que du vide .
Ajouter un commentaire
Ce document intitulé « [Bash] Récupérer une ligne particulière » issu de CommentCaMarche (www.commentcamarche.net) est mis à disposition sous les termes de la licence Creative Commons. Vous pouvez copier, modifier des copies de cette page, dans les conditions fixées par la licence, tant que cette note apparaît clairement.
Dossier à la une
Passage au tout numérique : quel coût pour les particuliers ?