[gull] dernier élément d'une liste
Félix Hauri
felix at f-hauri.ch
Fri Jul 2 20:45:03 CEST 2004
On Fri, Jul 02, 2004 at 06:09:13PM +0200, Arnaud Burlet wrote:
> Certainement plus lent, mais ca fonctionne !
>
> echo $foo | sed -e "s/ /\n/g" | tail -n 1
oui, mais ``tr'' est peut-être un poil plus léger:
$ echo $foo | tr \ \\n | tail -n1
ou encore:
$ echo bonjour les petits amis | rev | cut -d\ -f 1 | rev
amis
Mais pour le faire proprement en shell, le plus simple:
$ liste="bonjour les petits amis"
$ echo ${liste##* }
amis
... voire en shell, en utilisant les liste (array):
$ liste=(bonjour les petits amis)
$ echo ${#liste[@]}
4
$ echo ${liste[$((${#liste[@]}-1))]}
amis
ou encore SANS variable, en ``filtre'' mais AVEC un sous-process:
$ echo bonjour les petits amis | ( set -- $(cat); shift $(($#-1)); echo $1 )
amis
ou encore:
...
--
Félix Hauri - <felix at f-hauri.ch> - http://www.f-hauri.ch
More information about the gull
mailing list