Forum |  HardWare.fr | News | Articles | PC | S'identifier | S'inscrire | Shop Recherche
959 connectés 

  FORUM HardWare.fr
  Programmation
  Shell/Batch

  afficher le contenu d'une colonne

 


 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

afficher le contenu d'une colonne

n°2149955
donny3
Posté le 20-07-2012 à 08:48:48  profilanswer
 

Bonjour,
 
J'ai un fichier qui dispose de n-colonne et pour une des colonnes,
je dois afficher qu'une partie de l'information pour la derniere colonne.
 
exemple de lignes du fichier :

Citation :

benoit xxx;site E;Commercial;France;Dijon;activite lundi : ventes activite mardi : achat activite mercredi : achat activite jeudi : achat/vente/meeting activite vendredi : clientèle


 
Je dois afficher l'activité du lundi au mardi par exemple :

Citation :

benoit xxx;site E;Commercial;France;Dijon;activite lundi : ventes activite mardi : achat


 
s'il s'agit du jeudi au vendredi :

Citation :

benoit xxx;site E;Commercial;France;Dijon;activite jeudi : achat/vente/meeting activite vendredi : clientèle


 
j'ai essayé avec un sed, mais cela m affiche toute la lignes,
par exemple pour l'activité du lundi au mardi

Code :
  1. sed -n '/activite lundi :/,/activite mercredi :/p'


 
Merci

mood
Publicité
Posté le 20-07-2012 à 08:48:48  profilanswer
 

n°2150076
pataluc
Posté le 20-07-2012 à 14:55:07  profilanswer
 

salut,
 
couple ça avec un grep, ou alors fais le plutôt avec un awk...

n°2150102
Profil sup​primé
Posté le 20-07-2012 à 15:46:25  answer
 

Salut,
 

Code :
  1. sed -n '/activite lundi :/,/activite mercredi :/p'

cette commande va afficher les lignes à partir de la première contenant <activite lundi>, jusquà la première contenant <activite mercredi>. Ce n'est pas ce que tu veux, si j'ai bien compris.
 
à mon avis, ce sera plus simple (parce que les commandes sont plus lisibles) en awk.

n°2150331
donny3
Posté le 23-07-2012 à 09:04:16  profilanswer
 

j'aimerai bien le faire en awk
mais je ne vois pas trop comment
en sachant que la colonne, je la récupère déjà avec un awk.
"activite lundi : ..." correspond à mon $3 dans mon awk.
 
Un awk dans un awk, je ne sais pas trop si cela marche.

n°2150359
Profil sup​primé
Posté le 23-07-2012 à 11:25:52  answer
 

Code :
  1. awk -F';' 'BEGIN{ J["lundi"]=2; J["mardi"]=3; J["mercredi"]=4; J["jeudi"]=5; J["vendredi"]=6}{split($6,a,"activite [^:]*: " ); for(j=J[d]; j<=J[f]; j++){printf("%s ", a[j])}print ""}' d="mardi" f="jeudi" fichier.in


Aller à :
Ajouter une réponse
  FORUM HardWare.fr
  Programmation
  Shell/Batch

  afficher le contenu d'une colonne

 

Sujets relatifs
[MS SQL Server] Problème de volumétrie : changement de type de colonneFaire scroller le contenu d'un <DIV> placé sous un autre
Comment faire pour afficher le nom de la personne connecterEst il possible de modifier un programme pour mettre a jour le contenu
[BATCH] Afficher + logger une commandeMacro recherche de contenu
Transformer en numéro de colonne une saisie utilisateurAfficher variable dans textarea
[DELPHI] Copier le contenu d'un panel dans un autre ?[ORACLE OCI] Select sur un clob ne retourne qu'une partie du contenu
Plus de sujets relatifs à : afficher le contenu d'une colonne


Copyright © 1997-2022 Hardware.fr SARL (Signaler un contenu illicite / Données personnelles) / Groupe LDLC / Shop HFR