Dans un récent question, il a été noté que sur OSX, exécuter sed sur un fichier non ascii donnait des résultats étranges. Par exemple, si vous faites (/ usr/bin/cal est un fichier binaire aléatoire)Lang et sed sur OSX
sed 's/[^A-Z]//' /usr/bin/cal
sed
va supprimer tous les caractères imprimables autres que A-Z, mais beaucoup de caractères non imprimables restent. Si toutefois, vous faites
LANG='' sed 's/[^A-Z]//' /usr/bin/cal
seuls A-Z (et les nouvelles lignes) sont sortis. Pourquoi?
Normalement LANG=en-US.UTF-8
Que se passe-t-il? Je ne vois pas de toute façon que la sortie de sed pourrait être considérée correcte en UTF-8. Est-ce cassé, ou y a-t-il une notion de travail que je ne comprends pas?
Je sais que l'OSX sed est conforme à POSIX, et est donc différent de l'appréciée GNU sed.