[sh]Problème scripting

jocelyn54 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -  
jocelyn54 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention   -
Bonjour,
Je suis débutant et j'ai essayé de réaliser un script pour générer un fichier compatible pour une importation sur zabbix seulement il ne fait pas exactement ce que je souhaite.
Je vais commencer par vous le montrer (enfin ce qui est utile) puis je dirai les problèmes rencontrés:
#recuperation de l'agence
var1="agence_""$(echo $entree | cut -d';' -f10 |  sed 's/\"//g' | tr -s A-Z a-z)"
agence=`echo $var1 | sed 'y/àâçéèêëîïôöùüÂÀÇÉÈÊËÎÏÔÖÙÜ/aaceeeeiioouuaaceeeeiioouu/'`
#recuperation de la region
region="region_""$(echo $entree | cut -d';' -f11 |  sed 's/\"//g' | tr -s A-Z a-z)"

Bon, le script fonctionne et va récupérer les données comme il faut. Le but de cette partie est de supprimer la casse et l'accentuation après avoir récupéré l'info dans tel ou tel champ. Le problème est que quand le script récupère Rennes par exemple, il retournera agence_renes. Ainsi, les doublons "nn", "ll", etc. sont transformés en lettres simples. Je ne comprends pas pourquoi... Je suppose que c'est dans le tr qu'il y a une erreure mais je n'arrive pas à la trouver.

Ensuite, je souhaite ne faire une certaine opération que si la chaîne "reseau 3" se trouve dans le champ 33.
Je pensais faire quelquechose dans le genre mais cela ne fonctionne pas... Erreur de syntax. Pouvez vous m'aider?
grep -i "reseau 3" $(echo $entree | cut -d';' -f33 |  sed 's/\"//g')
if [ "$?" = "0" ]


Merci d'avance

3 réponses

jocelyn54 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Bon, j'ai un peu craqué pour le coup des doubles lettres qui disparaissent... C'était à cause du -s.
Par contre, pourriez vous m'aider sur la syntax avec le grep que j'ai écrit plus haut?
0
dubcek Messages postés 19030 Date d'inscription   Statut Contributeur Dernière intervention   5 641
 
hello
ne serait-ce pas plutôt

echo $entree | cut -d';' -f33 | sed 's/\"//g' | grep -iq "reseau 3"
if [ "$?" = "0" ]
0
jocelyn54 Messages postés 5 Date d'inscription   Statut Membre Dernière intervention  
 
Ca fonctionne correctement. Merci beaucoup pour votre réponse.
0