Remplacement de caractere dans une chaine
Résolu/FerméGHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 11 oct. 2023 à 13:46
- Remplacement de caractere dans une chaine
- Caractère ascii - Guide
- Coco chat remplacement - Accueil - Réseaux sociaux
- Remplaçant de Coco : quelles solutions pour tchater gratuitement en ligne ? - Accueil - Réseaux sociaux
- Caractere speciaux - Guide
- Caractère spéciaux - Guide
11 réponses
9 juil. 2023 à 11:23
hello
l y a une différence ligne 1 entre source et sortie 339725 et 39725
j'ai enlevé les espaces
$ awk 'BEGIN {FS=OFS=":"} {gsub(",", "-", $NF); print $0}' source 07/07/2023 10:38,07/07/2023 10:38,",",",0"",degraded_cells=WCDMA:339682-339725-375868 08/07/2023 07:00,08/07/2023 07:00,",",",0"",faulty_cells=WCDMA:347911-347922-347933 08/07/2023 07:00,08/07/2023 07:00,",",",0"",faulty_cells=GSM:347911-347922 08/07/2023 07:00,08/07/2023 07:00,",",",0"",faulty_cells=LTE:347911-347922-347933
9 juil. 2023 à 18:41
Hello Dubcek,
Merci beaucoup pour votre retour , cela fonctionne bien avec le fichier source que j'ai collé dans mon premier message.
Cependant si j'ai le fichier source Csv qui est désorganiser , la ligne de commande ne marche pas. j 'ai joint un template ci-dessous , s'il vous plait pouvez y jeter un coup d'oeil.
Merci d'avance
" 768872581,PLMN-PLMN/MRBTS-191/EQM_R-1/APEQM_R-1/ALD_R-3/RETU_R-1 , 5, 1, 99,07-07-2023 10:38:49, , , 1, , , 7113, 2,19a9155a9bbcfd4fed1b57d26dc84a86d7682034 , 9.2234E+18,BASE STATION ANTENNA LINE PROBLEM ,07-07-2023 10:38:49,07-07-2023 10:38:51, , 0, ,degraded_cells=WCDMA:339682,339725,375868 ,RET Antenna control failure ,1843 unitName=TILT path=/SMOD_R-1/bbext1/BBMOD_R-1/rf3/RMOD_R-1/ret/ALD_R-3/RETU_R-1 serial_no=AM160819201803-Y3 additionalFaultID=1843 RETU-1 , , , , 0, 9714482, 9714482, 0, 0,07/07/23 09:38:51.749094 , 0, 0, , ,MRBTS-191/EQM_R-1/APEQM_R-1/ALD_R-3/RETU_R-1 ,PLMN-PLMN/MRBTS-191 , 0, , ,MRBTS:MRBTS , 2,PLMN-PLMN/MRBTS-191 , 1,31-12-9999 23:59:59,07/07/23 10:38:49.000000 +01:00 ,07/07/23 10:38:49.000000 +01:00 - -"
" 769014358,PLMN-PLMN/MRBTS-1952/EQM_R-1/APEQM_R-1/RMOD_R-1 , 5, 1, 99,07-07-2023 18:38:36, , , 1, , , 7116, 1,5706efd545d41ae1c0e2ea4157b2e684f8866847 , 9.2234E+18,BASE STATION SERVICE PROBLEM ,07-07-2023 18:38:36,07-07-2023 18:38:54, , 0, ,faulty_cells=GSM:all" "LTE:1,2,3 ,No connection to unit ,10 unitName=FR path=/SMOD_R-2(Left)/bbext1/BBMOD_R-4/rf2/RMOD_R-1 additionalFaultID=10 RMOD-1 , , , , 0, 9495972, 9495972, 0, 0,07/07/23 17:38:54.869257 , 0, 1, , ,MRBTS-1952/EQM_R-1/APEQM_R-1/RMOD_R-1 ,PLMN-PLMN/MRBTS-1952 , 0, , ,MRBTS:MRBTS , 2,PLMN-PLMN/MRBTS-1952 , 1,31-12-9999 23:59:59,07/07/23 18:38:36.000000 +01:00 ,07/07/23 18:38:36.000000 +01:00 - -"
" 769136441,PLMN-PLMN/MRBTS-43911/EQM_R-1/APEQM_R-1/RMOD_R-1 , 5, 1, 99,08-07-2023 07:00:00, , , 1, , , 7116, 1,7ce97cddf53b7f5efda7d7beca47e4314245ef09 , 9.2234E+18,BASE STATION SERVICE PROBLEM ,08-07-2023 07:00:00,08-07-2023 07:00:02, , 0, ,faulty_cells=WCDMA:347911,347922,347933,347974,347985,347996,529707,529718,529729 ,No connection to unit ,10 unitName=FRGU path=/SMOD_R-1/rf_ext1/RMOD_R-1 serial_no=K9170442911 additionalFaultID=10 RMOD-1 , , , , 0, 6790101, 6790101, 0, 0,08/07/23 06:00:02.556107 , 0, 0, , ,MRBTS-43911/EQM_R-1/APEQM_R-1/RMOD_R-1 ,PLMN-PLMN/MRBTS-43911 , 0, , ,MRBTS:MRBTS , 2,PLMN-PLMN/MRBTS-43911 , 1,31-12-9999 23:59:59,08/07/23 07:00:00.000000 +01:00 ,08/07/23 07:00:00.000000 +01:00 - -"
10 juil. 2023 à 12:45
la virgule étant séparateur de champ, je ne vois pas bien les 3 dernières à modifier
10 juil. 2023 à 19:05
Bonsoir Dubcek,
les éléments à modifier commencent toujours par les trois mots ci-dessous
affected_cells=
faulty_cells=
degraded_cells=
Merci
Vous n’avez pas trouvé la réponse que vous recherchez ?
Posez votre question11 juil. 2023 à 11:59
,faulty_cells=WCDMA:347911,347922,347933,347974,347985,347996,529707,529718,529729
là, faut-il remplacer toutes les , ou les 3 dernières ?
12 juil. 2023 à 00:21
Hello Dubcek,
Désolé pour la réponse tardive j'étais en déplacement,
Il faudra remplacer toutes la sequences des , par le "-".
Merci
12 juil. 2023 à 16:05
j'ai une solution sed
$ sed -e :1 -e 's@\(cells.*\),\(.*[ \t]\)@\1-\2@;t1' in > out
dans in
,degraded_cells=WCDMA:339682,339725,375868
,faulty_cells=GSM:all" "LTE:1,2,3
,faulty_cells=WCDMA:347911,347922,347933,347974,347985,347996,529707,529718,529729
dans out
,degraded_cells=WCDMA:339682-339725-375868
,faulty_cells=GSM:all" "LTE:1-2-3
,faulty_cells=WCDMA:347911-347922-347933-347974-347985-347996-529707-529718-529729
18 juil. 2023 à 18:20
Bonjour dubcek,
Merci beaucoup , c est parfait!!
29 juil. 2023 à 12:28
Bonjour dubcek,
sed -e :1 -e 's@\(cells.*\),\(.*[ \t]\)@\1-\2@;t1' in > out
le code marche bien mais cependant il prend enormement de temps un fichier volumineux de 142 lignes.
Please il ya t'il une solution pour améliorer le temps de traitement?
Merci d'avance
30 juil. 2023 à 11:17
sed est rapide, c'est bizarre
c'est la même structure de fichier qu'au post #2 ?
11 oct. 2023 à 13:46
Hello Dubcek ,
désolé j'etais souffrant , ça va mieux now.
pour répondre à ta question oui c est la même structure. et je ne comprend pourquoi cela prend autant de temps pour le traitement.
merci