[Bash] Eliminer une sous-chaine de caractere dans une chaine de caract

Eliminer une sous-chaine de caractere dans une chaine de caract [Bash] - Codes et scripts - Linux et OS Alternatifs

Marsh Posté le 28-01-2010 à 17:04:31    

Bonjour.
 
Je me casse la tete depuis 2 heures sans trouver réponse à mon problème.
J'ai une chaine de caractère, du type:
premierechaineaconserver[123] deuxiemechaineaconserver
 
Sachant que [123] peut etre aussi de la forme [1], [12], [1234], [12345],  
 
je ne trouve pas d'association de commandes me permettant de récupérer dans deux variables "premierechaineaconserver" et "deuxiemechaineaconserver".  
 
Une idée quelqu'un?

Reply

Marsh Posté le 28-01-2010 à 17:04:31   

Reply

Marsh Posté le 28-01-2010 à 17:06:54    

En Mandarin ? En Biélorusse ? En A ?

Reply

Marsh Posté le 28-01-2010 à 17:08:31    

en Bash :) sorry je l'avais mis dans le sujet, pas pensé à le remettre dans le topic...

Reply

Marsh Posté le 28-01-2010 à 18:38:28    

bonjour
 
heu tu as bien les caractères [  et ]  ?
$ aa=premierechaineaconserver[123]deuxiemechaineaconserver  
$ echo ${aa%%[*}
premierechaineaconserver
$ echo ${aa##*]}
deuxiemechaineaconserver
 
rmq: peut être remplacer [  par \[   et ] par \]  
 
 
sinon  
aa=premierechaineaconserver12312501deuxiemechaineaconserver  
echo ${aa%%[0-9]*}
premierechaineaconserver  
echo ${aa##*[0-9]}
deuxiemechaineaconserver


Message édité par limax le 29-01-2010 à 16:50:15
Reply

Marsh Posté le 29-01-2010 à 01:16:06    

C'est moi qui a lu trop vite ^^
 
Pour me faire pardonner de tant d'outrecuidance ( faut bien le placer de temps en temps ) :
 

Code :
  1. read vara varb < <(perl -pe 's/\[\d+\]/ /g' <<< 'premierechaineaconserver[123] deuxiemechaineaconserver')

Reply

Sujets relatifs:

Leave a Replay

Make sure you enter the(*)required information where indicate.HTML code is not allowed