Awk, Sed - Supprimer caractères identiques au délimiteur de champ

Résolu/Fermé
pcsystemd Messages postés 676 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2022 - Modifié le 14 juin 2019 à 14:53
pcsystemd Messages postés 676 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2022 - 19 juin 2019 à 08:52
Bonjour,

J'ai un fichier qui contient des lignes de la sorte:

1245|titou|truc62|@mail.com|5487965|ker#254|15/02/2019


Le délimiteur est le pipe
|


Dans plusieurs lignes, j'ai des adresses mails avec un caractère pipe
|
(et oui ) ainsi que des caractères
#
que je dois supprimer afin que ces pipes ne soient pas considérer comme délimiteur!

C'est possible de supprimer tous ces pipes et ces
#
non voulus?

Merci d'avance.

Configuration: Debian Jessie , Firefox


A voir également:

4 réponses

zipe31 Messages postés 36317 Date d'inscription dimanche 7 novembre 2010 Statut Contributeur Dernière intervention 27 janvier 2021 6 558
14 juin 2019 à 15:01
Salut,

Le pipe dans les adresses mail est toujours au même endroit ?

0
dubcek Messages postés 18579 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 25 janvier 2023 5 582
14 juin 2019 à 15:45
hello
comme ça ?
$ awk -F "[|]" '{gsub("[|]@", "@")} {print $3}' fichier
truc62@mail.com
0
lEprofSonDkon Messages postés 211 Date d'inscription jeudi 13 décembre 2018 Statut Membre Dernière intervention 8 octobre 2022 14
Modifié le 14 juin 2019 à 19:24
salut,

en amont, c'est toi qui a décidé du format du fichier ?

je pense qu'un caractère NULL serait un meilleur délimiteur quand on ne limite pas ce que peuvent entrer les utilisateurs.
est-ce que je me trompe ?
0
pcsystemd Messages postés 676 Date d'inscription dimanche 27 novembre 2005 Statut Membre Dernière intervention 22 décembre 2022 20
19 juin 2019 à 08:52
Pour répondre.

@zipe31
Non pas toujours au même endroit

@dubcek
Merci je vais tester.

lEprofSonDkon
Hélas non on est pas maître du format de fichier ce serait plus simple!

Merci a vous
0