Swisslinux.org

− Le carrefour GNU/Linux en Suisse −

 

Langue

 

Le Forum

Vous n'êtes pas identifié.

#1 11 Apr 2010 18:41:22

roxane_bash
Affranchi(e)
 
Date d'inscription: 11 Apr 2010
Messages: 1

problème d'encodage utf-8 : script shell bash

Bonjour,
J'ai un gros soucis avec un script shell bash.
JE souhaite vérifier l'encodage d'un fichier texte appelé rclok.txt et ensuite inclure une condition de telle sorte que si l'encodage est en utf-8, alors il se créera dans le même répertoire un fichier rclok.u8, et sinon alors il faudra convertir le fichier en utf-8, puis créer le fichier rclok.u8.
Voici le début de mon script, mais cela ne fonctionne pas.
Pouvez-vous me venir en aide svp?
Merci beaucoup de votre aide !

#!/bin/bash
encoding=`file rclok.txt`
echo ${encoding}


if [[ $encoding == *UTF-8* ]]; then
  cat rclok.txt > rclok.u8
fi

Hors ligne

 

#2 11 Apr 2010 18:50:29

BOFH
Admin
Lieu: Ecublens, VD
Date d'inscription: 03 Feb 2005
Messages: 862
Site web

Re: problème d'encodage utf-8 : script shell bash

Hello,

  Les globs du shell (* et ?) ne fonctionnent qu'avec les noms de fichier, et par simple expansion (donc ca ne peut pas marcher avec un test d'égalité)

  Ce n'est pas très prudent de se fier à file pour déterminer l'encodage, mais si ça te convient, le plus simple est d'utiliser grep.

Code:

#!/bin/bash
file rclock.txt |grep UTF-8 >/dev/null 2>&1 && cp rclok.txt rclok.u8 || recode latin1..utf8 <rclok.txt >rclok.u8

Hors ligne

 

Pied de page des forums

Powered by FluxBB