Rechercher : dans
Par :

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

Dernière réponse le 5 jui 2007 à 17:10:48 kilian, le 10 mar 2005 à 02:39:58 
 Signaler ce message aux modérateurs

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....
Configuration: Debian

Meilleures réponses pour « [Bash] Récupérer une ligne particulière » dans :
Comment récupérer le résultat d'une commande dans une variable Voir Comment récupérer le résultat d'une commande dans une variable Préambule Syntaxe Exemples Préambule Il est bien souvent nécessaire de récupérer le résultat d'une commande (ou de son code retour) dans une variable afin de pouvoir...
Bash - Les paramètres VoirIntroduction Les paramètres positionnels Exemple 1 Les paramètres spéciaux Exemple 2 Initialiser des paramètres - La commande "set" - Exemples - La commande "shift" - Exemple 3 Introduction Il est possible de fournir à un script,...
Comment lire un fichier ligne par ligne VoirComment lire un fichier ligne par ligne Préambule Boucle while Syntaxe Exemple Astuces Bonus Boucle for Syntaxe Préambule Une des erreurs les plus communes dans l'apprentissage des scripts "bash" sous GNU/LInux pour lire un fichier...

1

jipicy, le 10 mar 2005 à 09:21:25

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 Z'@+...che.

JP : Zen, my Nuggets ! ;-)
Avec Linux vous avez un noyau, avec Windows des pépins. ;-)) 

Répondre à jipicy

2

kilian, le 10 mar 2005 à 17:36:11

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...

Répondre à kilian

4

 _vince, le 5 jui 2007 à 17:10:48

Awk est plus utile comme ceci:

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

NR etant le numero de ligne

Répondre à _vince

3

scorpus, le 5 jui 2007 à 15:46:02

J'ai tésté la premiére ligne avec awk ca marche...

par contre la deuxieme sans awk elle ne retourne que du vide .

Répondre à scorpus
Collection CommentÇaMarche.net