Ligne en double dans un fichier
dino
-
dino -
dino -
Bonjour,
J'ai plusieurs fichiers qui ont tous la meme entete mais pas le reste ,je dois les concatener mais garder juste une entete.
J'ai essayer avec la commande "uniq" j'y arrive pas ....
Si qlq a une idée ..
Merci a tous
J'ai plusieurs fichiers qui ont tous la meme entete mais pas le reste ,je dois les concatener mais garder juste une entete.
J'ai essayer avec la commande "uniq" j'y arrive pas ....
Si qlq a une idée ..
Merci a tous
5 réponses
-
Salut,
Une solution...
$ head fich*
==> fich1 <==
En-tête commun
fichier 1
ligne1
ligne2
==> fich2 <==
En-tête commun
fichier 2
ligne1
ligne2
==> fich3 <==
En-tête commun
fichier 3
ligne1
ligne2
==> fich4 <==
En-tête commun
fichier 4
ligne1
ligne2
$ sed '1!{/^En-tête/d}' fich*
En-tête commun
fichier 1
ligne1
ligne2
fichier 2
ligne1
ligne2
fichier 3
ligne1
ligne2
fichier 4
ligne1
ligne2
-
Salut,
Merci pour ta réponse.
Mais mon entête est un ensemble de nom :
Fichier1 :
NOM PRENOM AGE SEXE .....
AAA BBB 36 M
Fichier 2
NOM PRENOM AGE SEXE
CCC DDD 40 M
.
.
.
Le fichier total doit contenir
Entete : NOM PRENOM AGE SEXE
+
le reste des info.
Avec le sed j'ai le message d'erreur suivant :
sed: 0602-404 Function cannot be parsed.-
Mais mon entête est un ensemble de nom :
Suffit de changer
NOM PRENOM AGE SEXE ...../^En-tête/
par/^NOM/
dans mon code :$ head fich*
==> fich1 <==
NOM PRENOM AGE SEXE
fichier 1
ligne1
ligne2
==> fich2 <==
NOM PRENOM AGE SEXE
fichier 2
ligne1
ligne2
==> fich3 <==
NOM PRENOM AGE SEXE
fichier 3
ligne1
ligne2
==> fich4 <==
NOM PRENOM AGE SEXE
fichier 4
ligne1
ligne2
$ sed '1!{/^NOM/d}' fich*
NOM PRENOM AGE SEXE
fichier 1
ligne1
ligne2
fichier 2
ligne1
ligne2
fichier 3
ligne1
ligne2
fichier 4
ligne1
ligne2
avec le sed j'ai le message d'erreur suivant :
Quel système ?
sed: 0602-404 Function cannot be parsed.
Quelle version de sed ?
-
-
-
T'aurais pas sous le coude une commande pour suprimer un ligne ?
l'idée est de la supprimer du fichier concatener et de l'ajouter a la fin avec la commande :sed '1!{/^En-tête/d}' fich* ....
qu'est ce que t'en pense ?
Merci-
$ cat fich1
NOM PRENOM AGE SEXE
fichier 1
ligne1
ligne2
$ sed '1d' fich1
fichier 1
ligne1
ligne2
Dans le même esprit, mais à savoir si ça marcherait sur ton système :
$ head fich*
==> fich1 <==
NOM PRENOM AGE SEXE
fichier 1
ligne1
ligne2
==> fich2 <==
NOM PRENOM AGE SEXE
fichier 2
ligne1
ligne2
==> fich3 <==
NOM PRENOM AGE SEXE
fichier 3
ligne1
ligne2
==> fich4 <==
NOM PRENOM AGE SEXE
fichier 4
ligne1
ligne2
$ sed -s '1d' fich*
fichier 1
ligne1
ligne2
fichier 2
ligne1
ligne2
fichier 3
ligne1
ligne2
fichier 4
ligne1
ligne2 -
-
-
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question -
ca ne passe pas ,comme mon extraction est une chaine de caracter ...
j'ai essayer d'extraire la premier ligne et l'envoyer ves un fichier temporraire
+
afficher le fichier a partir de la 2 ligne vers un autre fichier temporraire
+
Concatener ces fichiers
+ ajouter la ligne extraite
C'est long mais c'est ce que j'ai trouvé ....:-(
Merci beaucoup pour ton implication.