2010-12-09 32 views
0

J'ai écrit un petit script bash pour essayer d'obtenir les x derniers caractères d'une chaîne.Erreur de syntaxe Utilisation de expr substr dans le script bash

#!/bin/bash 

string="This is my string. I want THIS TEXT" 
echo -e "string: $string" 

length=${#string} 
echo "length: $length" 

start=$(($length-9)) 
echo "start: $start" 

text=`expr substr $string $start 9` 
echo "text: $text" 

exit 0 

La sortie me donne une « erreur de syntaxe »:

string: This is my string. I want THIS TEXT 
length: 35 
start: 26 
expr: syntax error 
text: 

Je suis sûr qu'il est assez simple, mais je ne peux pas le comprendre. Quelqu'un peut-il signaler ce que je fais mal? Ceci est en cours d'exécution sur SunOS.

Répondre

2

qu'en pensez-vous?

echo ${string:(-4)} 

où est votre -4 décalé par rapport à la fin

+0

Merci, qui fonctionne et est beaucoup plus propre. – sdoca

+0

+1 est arrivé avant moi – SiegeX