Remplacement de '%' par une tabulation en shell

トップ ページ

このメッセージに返信
著者: Marc TERRIER
日付:  
To: guilde
題目: Remplacement de '%' par une tabulation en shell
Bonjour,

Dans un script ksh, j'ai une variable qui contient une ligne de texte, et cette
ligne de texte correspond à deux champs séparés par le caractère '%'. J'ai
besoin de remplacer ce '%' par une tabulation. J'ai essayé d'utiliser sed, tr,
ou nawk, sans succès pour l'instant, parce que cela donne lieu à un message
d'erreur sur une autre ligne, plus loin dans le script :

  [...]
  echo "Before> \${exports_line} = '${exports_line}'"
  #exports_line=`echo ${exports_line} | tr '%' '    '`
  #exports_line=`echo ${exports_line} | sed 's/%/   /'`
  #exports_line=`echo ${exports_line} | nawk -F% '{ print $1"       "$2 }'`
  echo "After> \${exports_line} =  '${exports_line}'"


if [ ${exports_line} != ${exports_newline} ] ; then
[...]

Les trois lignes en commentaires, ci-dessus, sont mes trois tentatives. Quand
l'une quelconque de ces trois lignes n'est pas en commentaire, j'ai droit au
message suivant après la ligne "After" :

./sys-filer-chkfstab.ksh[538]: -rw=trust_lan,root=nfs_adm:div_adm:gnx838:
unknown test operator

La ligne 538 est celle du "if [ ${exports_line} != ${exports_newline} ] ; then"

Ce message d'erreur disparaît instantanément quand je remets la ligne en
commentaire, donc je suis tenté de penser que c'est le caractère de tabulation
qui pose problème. Que je mette la tabulation en appuyant sur la touche Tab du
clavier ou en écrivant '\t', ça n'y change rien.

Si vous avez déjà rencontré ce genre de problématique, et que vous l'avez
résolu, cela m'intéresse. Merci d'avance.

--
Marc
Mail : marc.terrier [at] free.fr
Site : http://marc.terrier.free.fr