[awk] Récupérer la xème colonne jusqu'à la dernière (résolu)

Ce qui ne concerne ni le forum ni des problèmes
Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

[awk] Récupérer la xème colonne jusqu'à la dernière (résolu)

Message par cassyb » mer. 24 mars 2010, 07:53

Bonjour,

J'ai un soucis avec awk pour récupérer des données de la xième colonne jusqu'à la dernière (dont l'indice est variable).

Pour que ce soit plus clair, voici un exemple:
Récupérer le nom des fichiers d'un ls -al en sachant qu'un fichier peut avoir des espaces.
(Cet exemple est stupide car un simple ls le fait correctement mais j'ai besoin de savoir le faire avec awk)

Code : Tout sélectionner

ls -al | awk '{print <de l'indice 9 jusqu'à NF> }'
Quel est la syntaxe awk de <de l'indice 9 jusqu'à NF> ?
Merci pour votre aide.
Dernière modification par cassyb le mer. 24 mars 2010, 09:15, modifié 1 fois.

Avatar de l’utilisateur
cassyb
Chu Ko Nu
Messages : 310
Inscription : jeu. 04 janv. 2007, 09:07

Re: [awk] Comment récupérer la xème colonne jusqu'à la dernière?

Message par cassyb » mer. 24 mars 2010, 09:07

J'ai trouvé cette syntaxe:

Code : Tout sélectionner

ls -al | awk ' str=""; { for (i=9;i<=NF;i++) str=str" "$i; print substr(str,2) }'
s'il existe une alternative plus élégante...

Avatar de l’utilisateur
bennyboy
archer de cavalerie
Messages : 154
Inscription : dim. 12 oct. 2008, 20:36

Re: [awk] Récupérer la xème colonne jusqu'à la dernière (résolu)

Message par bennyboy » mer. 24 mars 2010, 11:13

Salut,

Je fais simplement:

Code : Tout sélectionner

awk '{ for (i=9; i<=NF; i++) printf("%s ", $i)}'
Parce que je suis pas sur de comprendre le coup du str ;-)
Mon wiki
Mon Github
T'es tellement no-life que t'aimerais être un PC pour redémarrer ta vie en mode sans échec !

Répondre