Remplacement de caractere dans une chaine

Résolu
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023 - 8 juil. 2023 à 14:21
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

Bonjour à tous,

J'ai le texte ci-dessous je souhaiterais remplacer avec awk les 3 dernières virgules par un tiret du 6 "-" merci d'avance

fichier 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

fichier de sortie

07/07/2023 10:38,07/07/2023 10:38,",",",0"",degraded_cells=WCDMA:3396823-39725-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


Windows / Chrome 114.0.0.0

A voir également:

11 réponses

dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
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
0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
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					     -										 -"	
0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
10 juil. 2023 à 12:45

la virgule étant séparateur de champ, je ne vois pas bien les 3  dernières à modifier

0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
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

0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
11 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 ?

0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
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 

0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
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

0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
18 juil. 2023 à 18:20

Bonjour dubcek,

Merci beaucoup , c est parfait!!

0
GHISLINO Messages postés 214 Date d'inscription lundi 25 juillet 2011 Statut Membre Dernière intervention 8 décembre 2023
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

0
dubcek Messages postés 18724 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 15 mai 2024 5 615
30 juil. 2023 à 11:17

sed est rapide, c'est bizarre

c'est la même structure de fichier qu'au post #2  ?

0
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

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

0