Pages : 1
#1 Le 23/08/2007, à 11:27
- Alain.g
commande cut et utf-8
Bonjour
Est-ce que l'option -c de la commande cut fonctionne correctement ?
Je pensais que cet exemple (exécuté en UTF-8) devrait donner comme résultat : dé
echo dé | cut -c-2
Mais il n'en est rien.
Pourtant on devrait ici voir la différence entre l'option -b (bytes) et -c (characters) ... mais là non !
Une explication ?
Dernière modification par Alain.g (Le 23/08/2007, à 11:28)
Xubuntu Karmic !
Hors ligne
#2 Le 23/08/2007, à 12:58
- Yannick_LM
Re : commande cut et utf-8
Ce qui est bizarre, c'est qu'on l'a avec wc:
echo "dé" | wc -c renvoie 4 (avec le é qui compte pour deux et le caractère newline), mais
echo "dé" | wc -m renvoie bien 3
(-c : nombre de bits, -m : nombre de caractères.
Le nom des options n'est pas très bien choisi...)
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#3 Le 23/08/2007, à 13:26
- HymnToLife
Re : commande cut et utf-8
@Alain.g, chez moi, echo dé | cut -c-2 renvoie bien "dé"...
@Yannick_LM, rien de bizarre... d = un octet (et non pas un bit...), é = deux octets, LF = un octet. Quatre octets, trois caractères. Où est le problème ?
Dernière modification par HymnToLife (Le 23/08/2007, à 14:24)
- Rodrigue, as-tu du cœur ?
- Non, mais j'ai du pique !
Hors ligne
#4 Le 23/08/2007, à 16:58
- Yannick_LM
Re : commande cut et utf-8
Hmm, me suis encore fait avoir par ces Anglais. bit=bit ; byte=octet
(jamais réussi à me fourrer ça dans le crâne)
Bon, sinon ce que je voulais dire c'est que j'obtenais bien un résultat attendu avec wc, (é codé sur deux octets), mais pas avec cut,
j'ai aussi :
$ > echo dé | cut -c-2
d
Voilà...
Trucs et astuces pour Vim
Ma web page avec des trucs dessus ...
Hors ligne
#5 Le 23/08/2007, à 17:04
- foustala
Re : commande cut et utf-8
@Alain.g, chez moi, echo dé | cut -c-2 renvoie bien "dé"...
juste "d" pour moi
Hors ligne
#6 Le 23/08/2007, à 17:15
- AuraHxC
Re : commande cut et utf-8
Pareil il faut un echo dé | cut -c-3 pour obtenir un dé.
mais c'est un problème avec l'accent parce que si tu fais un par exemple un :
echo deroule | cut -c-2 tu obtiens bien de
alors qu'un echo déroule | cut -c-2 te retourne juste d.
Hors ligne
Pages : 1