AWK - SED

Fermé
rahon93 Messages postés 65 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 29 juin 2011 - 30 mai 2011 à 23:07
rahon93 Messages postés 65 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 29 juin 2011 - 31 mai 2011 à 10:10
Bonjour,

J'aimerai à l'aide d'un sed ou awk supprimer plusieurs lignes dans un fichier.
Ces dernières n'auront pas forcément le même nombre de lignes.
En fait, j'ai fais un script me permettant via une connexion en BD puis shell d'obtenir un maximum d'informations pour un nombre aléatoire de traitements BATCHS. J'aimerai maintenant supprimer les doublons que le fichier comporte par moment.

Exemple ci-dessous.

##### PBIEXXD000 CONDITION IN #####
### COND OUT PBIEXXD000 ###
PBIEXXD010 P_BIL_EDI FINB8070 1302 PBIEXXD010 (START EDI)
=====================================

##### PBIEXXD0999 CONDITION IN #####
PBIEXXD030 P_BIL_EDI FINS8060 2626 PBIEXXD030
PEDIXXD021 P_BIL_EDI Transfert EDI FINB8050 BRDL to ECFRANCE PEDIXXD021
### COND OUT PBIEXXD0999 ###
=====================================

##### PBIEXXD0999 CONDITION IN #####
PBIEXXD030 P_BIL_EDI FINS8060 2626 PBIEXXD030
PEDIXXD021 P_BIL_EDI Transfert EDI FINB8050 BRDL to ECFRANCE PEDIXXD021
### COND OUT PBIEXXD0999 ###
=====================================

Dans ce cas, j'aimerai supprimé tout cela

##### PBIEXXD0999 CONDITION IN #####
PBIEXXD030 P_BIL_EDI FINS8060 2626 PBIEXXD030
PEDIXXD021 P_BIL_EDI Transfert EDI FINB8050 BRDL to ECFRANCE PEDIXXD021
### COND OUT PBIEXXD0999 ###
=====================================

D'avance merci....

Cdt, Rahon93.

3 réponses

periplasme Messages postés 391 Date d'inscription vendredi 22 avril 2011 Statut Membre Dernière intervention 5 février 2013 53
30 mai 2011 à 23:34
je sais, ça utilise ni awk ni sed, mais t'as pensé a la commande uniq ?
0
salut

Tu devrais regarder si le SGBD, que tu utilises, peut se charger d'éliminer les doublons.
Ça n'aurait rien d'étonnant.
0
rahon93 Messages postés 65 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 29 juin 2011 2
31 mai 2011 à 09:02
Bonjour Messieurs,

oui j'ai utilisé le uniq. Mais ca ne change pas le soucis.
Et oui, j'ai bien fais mon distinct donc la SGBD a déjà géré les doublons..

En fait, suite aux infos récoltés via la SGBD, je traite les données en manipulant plusieurs fichiers. Et pour cela, j'utilise les boucles for. pour explication:

##### PBIEXXD0999 CONDITION IN #####
PBIEXXD030 P_BIL_EDI FINS8060 2626 PBIEXXD030
PEDIXXD021 P_BIL_EDI Transfert EDI FINB8050 BRDL to ECFRANCE PEDIXXD021

Le for va faire un premier run pour extraire la condition PBIEXXD030 .
Et un second pour extraire PEDIXXD021 .

Et le fait de faire 2 runs, me créé le doublon.

Voilà Messieurs, merci tout de même de votre soutien.

Cdt.
0
Utilisateur anonyme
31 mai 2011 à 09:25
on n'utilise pas une boucle for pour lire un fichier (ou alors très exceptionnellement).
regarde ce tuto : https://forums.commentcamarche.net/forum/affich-37620017-comment-lire-un-fichier-ligne-par-ligne
0
rahon93 Messages postés 65 Date d'inscription mardi 25 mars 2008 Statut Membre Dernière intervention 29 juin 2011 2
31 mai 2011 à 10:10
Oui tout as fait, mais les for permettent de récolter les infos.
Et une fois cela exécuté, il incrémente un fichier.

Mais bon très bonne remarque.

Cdt.
0