Concatener deux lignes sur une seul d'un fichier [Résolu/Fermé]

Signaler
Messages postés
109
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
22 janvier 2020
-
JsuisNul
Messages postés
109
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
22 janvier 2020
-
Bonjour,

Je suis débutant en script shell.
Je vous explique ce que j'ai et ce que j'aimerai obtenir.
J'ai donc un fichier de longueur fixe sans séparateur en entrée construit de la sorte.


identifiant1donnée1
identifiant1donnée2
identifiant2donnée1
identifiant2donnée2

je souhaiterai avoir ceux-ci :

identifiant1donnée1donnée2
identifiant2donnée1donnée2

Quelqu'un aurait une idée s'il vous plait ?

Merci d'avance

3 réponses

Messages postés
18033
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 janvier 2020
4 599
hello
$ awk 'BEGIN{FIELDWIDTHS="12 8"} {t[$1]=t[$1] $2} END{for(n in t)print n t[n]}'  fichie
identifiant1donnée1donnée2
identifiant2donnée1donnée2
$ 
Messages postés
18033
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 janvier 2020
4 599
mon awk traite mal les caractères UTF avec FIELDWIDtHS
essayer
$ sed -r 's/^(.{12})/\1 /' fichier | awk '{t[$1]=t[$1] $2} END{for(n in t)print n t[n]}' 
identifiant1donnée1donnée2 
identifiant2donnée1donnée2 
$  
zipe31
Messages postés
38118
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
28 janvier 2020
4 544
Salut,

Tant qu'à utiliser sed...

$ sed -r 'N;s/(.*)\n.{12}(.*)/\1\2/' brol 
identifiant1donnée1donnée2
identifiant2donnée1donnée2

;-))
dubcek
Messages postés
18033
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
27 janvier 2020
4 599
awk doit laver cet affront :-)
$ awk '{c1=substr($0, 1, 12); c2=substr($0, 13, 7); t[c1]=t[c1] c2} END{for(n in t)print n t[n]}'  fichier
identifiant1donnée1donnée2
identifiant2donnée1donnée2
zipe31
Messages postés
38118
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
28 janvier 2020
4 544
;-))
Messages postés
109
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
22 janvier 2020

Merci à tous pour vos réponses très rapides !!!

je vais tester et vous faire un retour rapidement.

Merci encore !!

;-))
JsuisNul
Messages postés
109
Date d'inscription
mercredi 13 février 2013
Statut
Membre
Dernière intervention
22 janvier 2020

Merci à tous pour votre aide mais mon chef à changer d'avis donc plus de script...
:-((
A+