Le shell de base permet de faire des choses très propres tant qu'on reste dans son domaine d'application.
Traiter des fichiers xml en bash/ksh/... est (pour moi) une source d'erreur ;) et sort du champ d'application du shell.
C'est possible, mais tu risques tellement de te planter que je pense que le mieux serait de prendre quelque chose d'un peu plus puissant que le shell...