Faire de l’édition de flux pour changer l’icône méchante de Parallels. Il est mal développé et intégré à l'application elle-même plutôt que d'être un fichier image. J'ai donc localisé cette commande sed qui a de bons retours:
Sudo sed -i.bak s/Parallels_Desktop_Overlay_128/Parallels_Desktop_Overlay_000/g /Applications/Parallels\ Desktop.app/Contents/MacOS/prl_client_app
Il retourne sed: RE error: illegal byte sequence
Quelqu'un peut-il expliquer ce que cela signifie? Quelle partie de la commande est le problème?
Essayez de définir la variable d’environnement LANG
(LANG=C sed ...
) ou utilisez l’un des outils binary sed mentionnés ici: binary sed replacement
Pourquoi l'erreur?
Sans pour autant LANG=C
_ _ sed suppose que les fichiers sont codés selon le codage spécifié dans LANG
et que le fichier (étant binaire) peut contenir des octets qui ne sont pas des caractères valides dans le codage de LANG
(vous risqueriez ainsi d'obtenir séquence d'octets ').
Pourquoi LANG=C
travail?
C arrive simplement à traiter tous les caractères ASCII comme eux-mêmes et les caractères non-ASCII comme littéraux).
LANG=C
seul n'a pas fait l'affaire pour moi mais l'ajout de LC_CTYPE=C
ainsi résolu.
En plus de LANG=C
et LC_CTYPE=C
, Je devais faire LC_ALL=C
pour que cela fonctionne.
LC_ALL
_ remplace tout individu LC_*
catégories. Ainsi, l'approche la plus robuste consiste à utiliser LC_ALL=C sed ...
- inutile de traiter également les autres variables.
J'ai réussi à le faire en exécutant:
unset LANG
avant la commande sed
.
Je ne sais pas ce que j'ai fait ni pourquoi cela fonctionne, mais c'est ce qui s'est passé.