Modifier le 3ème champ des lignes d'un fichier
Résolu/Fermé
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
-
Modifié par bob737 le 20/07/2016 à 10:37
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 20 juil. 2016 à 13:03
dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 - 20 juil. 2016 à 13:03
A voir également:
- Modifier le 3ème champ des lignes d'un fichier
- Fichier rar - Guide
- Comment ouvrir un fichier epub ? - Guide
- Comment réduire la taille d'un fichier - Guide
- Modifier dns - Guide
- Modifier liste déroulante excel - Guide
2 réponses
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
20 juil. 2016 à 10:43
20 juil. 2016 à 10:43
Salut,
Voir ici, c'est le même principe.
Voir ici, c'est le même principe.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
20 juil. 2016 à 11:34
20 juil. 2016 à 11:34
hello
$ cat fichier
champ1;champ2;TOTO_XXX;champ3;champ4
champ1;champ2;TITI;champ3;champ4
$ awk 'BEGIN {FS=OFS=";"} {$3=gensub("(TOTO).*", "\\1", 1, $3); print}' fichier
champ1;champ2;TOTO;champ3;champ4
champ1;champ2;TITI;champ3;champ4
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
Modifié par bob737 le 20/07/2016 à 12:00
Modifié par bob737 le 20/07/2016 à 12:00
Merci mais j'ai du mal formuler car le 3eme champ n'est pas forcement TOTO. Je dois extraire la partie gauche du 3eme champ si le 3eme champ contient "_"
et ça me sort une erreur:
awk: 0602-553 Function gensub is not defined.
The input line number is 1. The file is test.
The source line number is 1.
merci.
et ça me sort une erreur:
awk: 0602-553 Function gensub is not defined.
The input line number is 1. The file is test.
The source line number is 1.
merci.
zipe31
Messages postés
36402
Date d'inscription
dimanche 7 novembre 2010
Statut
Contributeur
Dernière intervention
27 janvier 2021
6 418
>
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
20 juil. 2016 à 12:11
20 juil. 2016 à 12:11
awk 'BEGIN {FS=OFS=";"} {$3=gensub("(.*)_.*", "\\1", 1, $3); print}'
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
Modifié par dubcek le 20/07/2016 à 12:13
Modifié par dubcek le 20/07/2016 à 12:13
supprime _ et tout ce qui suit
$ awk 'BEGIN {FS=OFS=";"} {sub("_.*$", "", $3); print}' fichier
champ1;champ2;TOTO;champ3;champ4
champ1;champ2;TITI;champ3;champ4
bob737
Messages postés
144
Date d'inscription
jeudi 24 septembre 2009
Statut
Membre
Dernière intervention
14 mars 2024
>
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
20 juil. 2016 à 12:46
20 juil. 2016 à 12:46
super. Merci.
dubcek
Messages postés
18755
Date d'inscription
lundi 15 janvier 2007
Statut
Contributeur
Dernière intervention
14 novembre 2024
5 621
20 juil. 2016 à 13:03
20 juil. 2016 à 13:03
awk: 0602-553 Function gensub is not defined.
essayer avec gawk
essayer avec gawk
20 juil. 2016 à 11:09
oui, c'est même moi qui ai posé la question mais j'ai du mal à l'adapter à la condition.