[ksh] - Tester un retour chariot

Résolu
gorkimat Messages postés 71 Statut Membre -  
gorkimat Messages postés 71 Statut Membre -
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 19021 Statut Contributeur 5 637
 
et comme ça:

tr -d '\r' < ${FicATraiter} | while read LigneSelections
0
gorkimat Messages postés 71 Statut Membre 9
 
Salut dubcek,

Super, merci beaucoup, ça fonctionne à merveille.

Merci pour ton aide.

Bonne journée,

Mathieu
0