Il y a de nombreuses façons de procéder. comme awk
les solutions montrent, c'est la solution propre
La solution sed consiste à supprimer tout ce qui se trouve jusqu'au dernier espace. Donc, s'il n'y a pas d'espace à la fin, cela devrait fonctionner.
sed 's/.* //g' <file>
vous pouvez éviter sed
également et aller pour un while
boucle.
while read line
do [ -z "$line" ] && continue ;
echo $line|rev|cut -f1 -d' '|rev
done < file
il lit une ligne, la révère, coupe la première (c'est-à-dire la dernière dans l'original) et la rétablit
la même chose peut être faite d'une manière purement bash
while read line
do [ -z "$line" ] && continue ;
echo ${line##* }
done < file
c'est ce qu'on appelle l'expansion des paramètres