Récupérer le dernier caractère d'une ligne

Récupérer le dernier caractère d'une ligne - Shell/Batch - Programmation

Marsh Posté le 01-08-2006 à 20:13:31    

Bonjour,  
 
je souhaiterais récupérer le dernier caractère d'une ligne et pouvoir le tester.
 
par exemple, le dernier caractère peut être soit \ ou "
Selon la valeur, mon traitement sera différent.
 
exemple:
   test,bidule,\
   "machin"
 
ou  
 
   test,bidule,"machin"
 
Si j'ai un \ cela signifie que la phrase est répartie sur 2 lignes.
 
Je ne vois pas comment faire cela.
J'ai réussi via awk :
awk -F, {print $NF}
 
mais rien ne me garantit que j'aurai une virgule avant le \
en effet je pourrais avoir:  
test, bidule\
,machin
 
merci pour votre aide

Reply

Marsh Posté le 01-08-2006 à 20:13:31   

Reply

Marsh Posté le 02-08-2006 à 09:23:55    

Tu peux récupérer facilement le dernier caractère d'une string dans AWK avec la commande substr. Il suffit de l'utiliser sur la ligne complète ($0) et deprende un caractère en commençant au dernier caractère :
 
awk '{ print substr($0,length($0),1) }'

Reply

Sujets relatifs:

Leave a Replay

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