Pourquoi pas faire file $f tout simplement?
Soit, il me semblait que printf était une fonction du shell.
Mais je ne sais toujours pas ce que tu entends par décoder/encoder en UTF-8, et j'attends toujours que tu développes, parce que je ne vois toujours pas dans quels cas de figure bash serait un shell inadapté.
Comme j'adore tes explications sur le fait que le shell ne voit rien de ce que je lui donne, je te laisse sur ce petit script amusant :
seb@raoul:~$ cat toto
#!/bin/bash
if [ $# -ne 2 ]
then
echo "Usage: $(basename $0) <chaine> <motif>"
echo ""
echo "Affiche la partie de chaîne située après le motif spécifié."
exit 1
fi
chaine="$1"
motif="$2"
apres=${chaine##${motif}}
if [ -z "$apres" ]
then
echo "Pas de correspondance."
else
echo "Correspondance trouvée : \"$apres\""
fi
Qui, à l'exécution, donne ceci :
seb@raoul:~$ ./toto "aßbÑcýdÅeãfŮg" "*Å"
Correspondance trouvée : "eãfŮg"Il ne voit peut être rien, mais il comprend ce que je lui demande ...