Je pense que cela pourrait être dû à la façon dont file
travaux. Lecture de la page de manuel :
Les jeux de caractères ASCII, ISO-8859-x, non-ISO 8-bit extended-ASCII (tels que ceux utilisés sur les systèmes Macintosh et IBM PC), UTF-8-encoded Unicode, UTF-16-encoded Unicode, et EBCDIC peuvent être distingués par les différentes plages et séquences d'octets qui constituent le texte imprimable dans chaque jeu.
Mon interprétation de cette déclaration est la suivante file
La capacité de l'utilisateur à déterminer l'encodage utilisé est basée sur la présence de certains caractères dans le fichier texte qui rendent évident l'encodage. Ainsi, pour l'UTF, la taille des octets ou l'existence d'un caractère de type NOMENCLATURE pourrait être utilisé. Votre fichier texte d'origine peut avoir utilisé des caractères qui ne peuvent être codés que dans un jeu de caractères ASCII étendu (le symbole de la livre (£), par exemple) et donc file
était de déterminer qu'il s'agissait d'un fichier ISO 8859. Mais maintenant que le fichier est divisé, ce symbole n'apparaît que dans le premier fichier et pas dans le second. Vous devriez pouvoir tester cette hypothèse en recherchant dans le texte les caractères "étendus" et en fractionnant à différents endroits.
À titre de test, j'ai fait ce qui suit :
[root@blah ~]# echo "this is a test of text encoding" > test_encoding.txt
[root@blah ~]# file test_encoding.txt
test_encoding.txt: ASCII text
[root@blah ~]# echo "£" >> test_encoding.txt
[root@blah ~]# file test_encoding.txt
test_encoding.txt: ISO-8859 text
[root@blah ~]#
Y a-t-il une raison pour laquelle vous avez besoin des encodages de fichier rapportés par file
pour correspondre ?