A voir également:
- Shell - Report d'1 champ sur plusieurs lignes
- Crystal report download - Télécharger - Présentation
- Classic shell windows 11 - Télécharger - Personnalisation
- Comment aller à la ligne sur excel - Guide
- Excel trier par ordre alphabétique en gardant les lignes - Guide
- Crystal report viewer - Télécharger - Gestion de données
4 réponses
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
24 janv. 2011 à 12:22
24 janv. 2011 à 12:22
hllo
$ cat a1 A Entête1 Champ_a_reporter1 B Détail1 C Détail1 A Entête2 Champ_a_reporter2 B Détail2 $ $ awk '/^A/ {c=$3;print;next} {print $0, c} ' a1 A Entête1 Champ_a_reporter1 B Détail1 Champ_a_reporter1 C Détail1 Champ_a_reporter1 A Entête2 Champ_a_reporter2 B Détail2 Champ_a_reporter2 $
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
24 janv. 2011 à 12:13
24 janv. 2011 à 12:13
Salut,
Voilà un exemple avec "sed". Je pars du principe que le champ à reporter est le dernier sur la ligne, qu'il ne comporte pas d'espace dans son libellé et que les lignes d'en tête commencent toujours par "A" :
;-))
Voilà un exemple avec "sed". Je pars du principe que le champ à reporter est le dernier sur la ligne, qu'il ne comporte pas d'espace dans son libellé et que les lignes d'en tête commencent toujours par "A" :
$ cat plop A Entête1 Champ_a_reporter1 B Détail1 C Détail1 A Entête2 Champ_a_reporter2 B Détail2 C Détail2 A Entête1 Champ_a_reporter3 B Détail3 C Détail3 $ sed ':t;/^A/{h;s/.* //;x;:z;n;/^A/!{G;s/\n/ /;bz}};bt' plop A Entête1 Champ_a_reporter1 B Détail1 Champ_a_reporter1 C Détail1 Champ_a_reporter1 A Entête2 Champ_a_reporter2 B Détail2 Champ_a_reporter2 C Détail2 Champ_a_reporter2 A Entête1 Champ_a_reporter3 B Détail3 Champ_a_reporter3 C Détail3 Champ_a_reporter3 $
;-))
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
24 janv. 2011 à 14:37
24 janv. 2011 à 14:37
Quel système (AIX, Solaris, BSD, Gnu/Linux) ?
Quelle version de "sed" (sed --version) ?
Quelle version de "sed" (sed --version) ?
merci pour vos réponses. En fait le champ à reporter est à la position 572 (jusqu'à 576). C'est un fichier à format fixe. Du coup avec awk j'ai un peu de mal à adapter la commande.