Vous travaillez avec des fichiers textes conçus avec une application MS-Dos ou Windows. Ces derniers contiennent le caractère ^M spécifique du retour à la ligne (CR/LF). Dans le monde Unix (et donc Linux), ce symbole est remplacé par celui du retour-chariot (CR). Or, ^M gène le traitement automatique de vos fichiers par des scripts en Shell Bash. Et les éditeurs de texte sous Linux ne l’affichent pas. Pour le supprimer, ouvrez une console ou un émulateur de terminal et saisissez tr -d ”
” < XXX > YYY, oú XXX désigne le fichier source, élaboré sous MS-Dos ou Windows, et YYY le fichier de destination (sans les caractères ^M).Attention, prenez soin de ne pas utiliser un nom identique pour les deux fichiers si vous ne voulez pas risquer de perdre le fichier original et produire un document vide. De plus, simplifiez-vous la tâche en écrivant un script. Avec les privilèges administrateurs, créez le fichier /usr/local/bin/fromdos et à l’aide de votre éditeur de texte, saisissez le listing ci-dessous. Tapez chmod +x /usr/local/bin/fromdos afin de rendre ce script exécutable. Désormais, il suffira d’écrire fromdos XXX pour convertir le fichier XXX. Notez que ce programme effectue une sauvegarde du fichier original du même nom en ajoutant lextension .old_fromdos.Listing du script :
#!/bin/bash
if [ -f $1 ]; then
cp $1 $1.old_fromdos
tr -d ”
” < $1.old_fromdos > $1
else
echo “$1 : Nom de fichier introuvable”
fi
🔴 Pour ne manquer aucune actualité de 01net, suivez-nous sur Google Actualités et WhatsApp.