Recherche plus insertion de motif avec AWK
Résolu/Fermé
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
-
Modifié par GHISLINO le 7/01/2014 à 09:21
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 8 janv. 2014 à 12:35
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 8 janv. 2014 à 12:35
A voir également:
- Recherche plus insertion de motif avec AWK
- Recherche musique - Guide
- Insertion liste déroulante excel - Guide
- Google recherche par image - Guide
- Insertion sommaire word - Guide
- Recherche automatique des chaînes ne fonctionne pas - Guide
5 réponses
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
7 janv. 2014 à 10:30
7 janv. 2014 à 10:30
hello
pourquoi cette ligne 8 dans file3 ? il n'y a pas de Albis TB 63 dans file1
BSCYAKRO4 TRIANIKRO Abis TP 63[_63];190756,BSC-TRANS [101] RAI [5];2014/01/05 00:38:10.1Z;2014/01/05 00:38:16.0Z
essayer
pourquoi cette ligne 8 dans file3 ? il n'y a pas de Albis TB 63 dans file1
BSCYAKRO4 TRIANIKRO Abis TP 63[_63];190756,BSC-TRANS [101] RAI [5];2014/01/05 00:38:10.1Z;2014/01/05 00:38:16.0Z
essayer
$ awk 'BEGIN {FS=","; while(getline < "FILE1")t[$2 " " $4]=$3; FS="["} {sub(" ", " " t[$1] " "); print}' FILE2
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190763,BSC-TRANS [101] RAI [5];2014/01/05 00:38:20.2Z;2014/01/05 00:38:21.1Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190762,BSC-TRANS [101] RAI [5];2014/01/05 00:38:18.2Z;2014/01/05 00:38:19.1Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190760,BSC-TRANS [101] RAI [5];2014/01/05 00:38:16.7Z;2014/01/05 00:38:17.4Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190759,BSC-TRANS [101] RAI [5];2014/01/05 00:38:15.1Z;2014/01/05 00:38:16.0Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190758,BSC-TRANS [101] RAI [5];2014/01/05 00:38:13.2Z;2014/01/05 00:38:14.0Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190757,BSC-TRANS [101] RAI [5];2014/01/05 00:38:11.6Z;2014/01/05 00:38:12.4Z
BSCYAKRO4 TRIANIKRO Abis TP 132[_132];190755,BSC-TRANS [101] RAI [5];2014/01/05 00:38:10.0Z;2014/01/05 00:38:10.9Z
BSCYAKRO4 Abis TP 63[_63];190756,BSC-TRANS [101] RAI [5];2014/01/05 00:38:10.1Z;2014/01/05 00:38:16.0Z
.....
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
7 janv. 2014 à 10:37
7 janv. 2014 à 10:37
bonjour Dubcek
Mes meilleurs voeux pour l 'année 2014
c'est une erreur de copy and paste pour cette ligne
j'essaye le code et je te fais un feed back
merci
Mes meilleurs voeux pour l 'année 2014
c'est une erreur de copy and paste pour cette ligne
j'essaye le code et je te fais un feed back
merci
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
7 janv. 2014 à 16:51
7 janv. 2014 à 16:51
bonsoir Dubcek
le code marche parfaitement , merci encore pour ton coup de main.
mais j'ai une dernière question .
pour le fichier FILE2 je veux vérifier le nombre entre crochet en gras avec celui qui est devant le lui.
si le nombre entre crochet correspond au nombre qui est devant : ne rien faire
si le nombre entre crochet est différent de celui qui est devant , le remplacer par le nombre entre crochet.
ci dessous un exemple.
Pour le nombre [_81] en gras à la 4eme ligne le 23 devant est différent de lui donc je le remplace par 81
BSCBKE3 Abis TP 148[_148];194058,BSC-TRANS [101] RAI [5];2014/01/05 00:38:07.1Z;2014/01/05 00:38:08.2Z
BSCABG5 Abis TP 176[_176];174289,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 73[_73];174286,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.4Z
BSCABG5 Abis TP 23[_81];174290,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 83[_83];174287,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.2Z
BSCABG5 Abis TP 98[_98];174288,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.3Z
résultat le 23 a été remplacé par 81.
BSCBKE3 Abis TP 148[_148];194058,BSC-TRANS [101] RAI [5];2014/01/05 00:38:07.1Z;2014/01/05 00:38:08.2Z
BSCABG5 Abis TP 176[_176];174289,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 73[_73];174286,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.4Z
BSCABG5 Abis TP 81[_81];174290,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 83[_83];174287,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.2Z
BSCABG5 Abis TP 98[_98];174288,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.3Z
Merci pour ton retour
cordialement
le code marche parfaitement , merci encore pour ton coup de main.
mais j'ai une dernière question .
pour le fichier FILE2 je veux vérifier le nombre entre crochet en gras avec celui qui est devant le lui.
si le nombre entre crochet correspond au nombre qui est devant : ne rien faire
si le nombre entre crochet est différent de celui qui est devant , le remplacer par le nombre entre crochet.
ci dessous un exemple.
Pour le nombre [_81] en gras à la 4eme ligne le 23 devant est différent de lui donc je le remplace par 81
BSCBKE3 Abis TP 148[_148];194058,BSC-TRANS [101] RAI [5];2014/01/05 00:38:07.1Z;2014/01/05 00:38:08.2Z
BSCABG5 Abis TP 176[_176];174289,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 73[_73];174286,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.4Z
BSCABG5 Abis TP 23[_81];174290,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 83[_83];174287,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.2Z
BSCABG5 Abis TP 98[_98];174288,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.3Z
résultat le 23 a été remplacé par 81.
BSCBKE3 Abis TP 148[_148];194058,BSC-TRANS [101] RAI [5];2014/01/05 00:38:07.1Z;2014/01/05 00:38:08.2Z
BSCABG5 Abis TP 176[_176];174289,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 73[_73];174286,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.4Z
BSCABG5 Abis TP 81[_81];174290,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 83[_83];174287,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.2Z
BSCABG5 Abis TP 98[_98];174288,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.3Z
Merci pour ton retour
cordialement
dubcek
Messages postés
18718
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
22 mars 2024
5 615
8 janv. 2014 à 09:31
8 janv. 2014 à 09:31
je remplace systmatiquement le premier nombre par le 2ème, ça simplifie le code
$ awk '{split($4, a, "[[]|_|[]]"); sub("[0-9]+", a[3], $4); print}' FILE2
BSCBKE3 Abis TP 148[_148];194058,BSC-TRANS [101] RAI [5];2014/01/05 00:38:07.1Z;2014/01/05 00:38:08.2Z
BSCABG5 Abis TP 176[_176];174289,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 73[_73];174286,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.4Z
BSCABG5 Abis TP 81[_81];174290,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.2Z;2014/01/05 00:38:06.3Z
BSCABG5 Abis TP 83[_83];174287,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.2Z
BSCABG5 Abis TP 98[_98];174288,BSC-TRANS [101] RAI [5];2014/01/05 00:38:06.1Z;2014/01/05 00:38:06.3Z
$
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question
GHISLINO
Messages postés
214
Date d'inscription
lundi 25 juillet 2011
Statut
Membre
Dernière intervention
8 décembre 2023
8 janv. 2014 à 12:35
8 janv. 2014 à 12:35
bonjour Dubcek
merci pour ton retour c'est une très bonne idée de ta part , j avoue que je n'y avais pas pensé.
Merci infiniment
cdlt.
merci pour ton retour c'est une très bonne idée de ta part , j avoue que je n'y avais pas pensé.
Merci infiniment
cdlt.