Peut-être que c'est moi qui m'en sert mal ?
Bien sûr que tu t'en sers mal. Tu vois bien que :
- la définition de la ligne vide diffère selon les personnes et les systèmes.
- dans ma solution, il y a, entre crochets [^ ], la liste des caractères n'étant pas une entrave à la qualification de ligne vide.
Donc, pour ce dernier point, et si tu as toujours des fichiers windows, tu peux rajouter le caractère \r.
J'avoue avoir mis de la mauvaise volonté. Une ligne qui a un \r n'est pas vide. Je ne vois pas pourquoi je ferais un effort pour windows alors qu'on est sous linux.
La commande optimale devrait être:
tac /tmp/toto.txt |sed -n '/[^ \t\r]/q;/\r./q;p'|sed -n '$='
Partager