[ksh] - Tester un retour chariot

Résolu/Fermé
gorkimat Messages postés 70 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 1 mars 2012 - 29 nov. 2007 à 13:23
gorkimat Messages postés 70 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 1 mars 2012 - 29 nov. 2007 à 14:49
Bonjour,

Je viens vers vous car j'ai un petit soucis lors la lecture d'un fichier au format DOS (je ne peux pas le passer ne mode UNIX).

Le script est simple en lui même, je souhaiterais lire les lignes et recuperer un champs.

Fin du fichier :
X30N;ORACCESS;IMAGE10BIS;^M
X31N;ORACCESS;IMAGE16;^M
^M
^M
^M
^M

Le probleme que je rencontre, c'est que la commande read lit les lignes contenant un retour chariot ce qui provoque un probleme dans ma liste

Code :
while read LigneSelections
do
  GrandeImage="`echo ${LigneSelections} | cut -d';' -f2`"
  if [ ! -z ${GrandeImage} && "`echo ${ListeGrandeImage} | grep ${GrandeImage}" == "" ];then
    ListeGrandeImage="${ListeGrandeImage} ${GrandeImage}"
  fi
done < ${FicATraiter}
echo "Liste des Grandes Images : [${ListeGrandeImage}]"

Quand j'affiche la variable ListeGrandeImage cela me donne :
] ste des Grandes Images : [ HBYN1 ORPROGRESS NAKN1 N8CN1 N7QN1 N7ZN1 NMGN1 NSEN1 NA7N1 ORACCESS

Comment puis-je dire "ne pas lire les lignes 0A0D" ?

Merci d'avance pour votre aide.
Mathieu
A voir également:

2 réponses

dubcek Messages postés 18755 Date d'inscription lundi 15 janvier 2007 Statut Contributeur Dernière intervention 14 novembre 2024 5 621
29 nov. 2007 à 13:36
et comme ça:

tr -d '\r' < ${FicATraiter} | while read LigneSelections
0
gorkimat Messages postés 70 Date d'inscription dimanche 1 avril 2007 Statut Membre Dernière intervention 1 mars 2012 9
29 nov. 2007 à 14:49
Salut dubcek,

Super, merci beaucoup, ça fonctionne à merveille.

Merci pour ton aide.

Bonne journée,

Mathieu
0