Contenu | Rechercher | Menus

Annonce

Si vous avez des soucis pour rester connecté, déconnectez-vous puis reconnectez-vous depuis ce lien en cochant la case
Me connecter automatiquement lors de mes prochaines visites.

À propos de l'équipe du forum.

#1 Le 17/01/2013, à 17:52

wolf85kunst

Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

Bonjour à tous,

Je cherche le moyen d'afficher une colonne d'un fichier dont le séparateur est un espace, plusieurs espaces, voir une tabulation.. Je me suis penché vers les commandes cut, awk,sed... mais ça n'a rien donné.

Exemple de fichier:

prenom bernard
prenom        julien
prenom [TABULATION] loic

Je souhaite afficher :

bernard
julien
loic

Merci beaucoup pour votre aide !

Dernière modification par wolf85kunst (Le 18/01/2013, à 09:42)


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne

#2 Le 17/01/2013, à 18:01

pingouinux

Re : Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

Bonjour,

$ sed -r 's/^[^[:space:]]+[[:space:]]+([^[:space:]]+).*$/\1/' fichier
bernard
julien
loic

Hors ligne

#3 Le 17/01/2013, à 18:03

Watael

Re : Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

salut,

awk '{print $NF}' fichier
sed 's/.*[[:blank:]]\+\(.*\)/\1/' fichier

Connected \o/
Welcome to sHell. · eval is evil.

Hors ligne

#4 Le 17/01/2013, à 21:56

tiramiseb

Re : Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

Salut,

awk prend n'importe quel nombre d'espaces (et tabulations) comme séparateurs de champs.

Si tu veux le 2nd champ, tu fais :

awk '{ print $2 }' fichier

Si tu veux le dernier champ, comme l'a indiqué Watael :

awk '{ print $NF }' fichier

Hors ligne

#5 Le 18/01/2013, à 05:20

nesthib

Re : Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

Juste pour compléter la réponse, même si awk prend par défaut espaces et tabulations comme séparateur, il est possible de définir manuellement le séparateur qu'on veut.
Le comportement par défaut étant un ou plusieurs espaces/tabulations :

awk -F'[ \t]*' '{print $2}' fichier

En ce qui concerne cut, la plupart des versions ne supportent pas de multiples caractères comme séparateur.


GUL Bordeaux : GirollServices libres : TdCT.org
Hide in your shell, scripts & astuces :  applications dans un tunnelsmart wgettrouver des pdfinstall. auto de paquetssauvegarde auto♥ awk
  ⃛ɹǝsn xnuᴉꞁ uʍop-ǝpᴉsdn

Hors ligne

#6 Le 18/01/2013, à 09:41

wolf85kunst

Re : Afficher une colonne dont le séparateur est un ou plusieurs espaces[R]

Merci beaucoup pour toutes vos réponses.

Mon problème est résolu.


Les raisonnables ont duré, les passionnés ont vécu.
-- 10.04 Lucid Lynx --

Hors ligne