Swisslinux.org

− The GNU/Linux crossroads in Switzerland −

 

Language

 

The Forum

You are not logged in.

#1 11 Apr 2010 18:41:22

roxane_bash
Affranchi(e)
 
Registered: 11 Apr 2010
Posts: 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

Offline

 

#2 11 Apr 2010 18:50:29

BOFH
Admin
From: Ecublens, VD
Registered: 03 Feb 2005
Posts: 862
Website

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

Offline

 

Board footer

Powered by FluxBB