no save
Assistance
Achat
News

Forum | Linux/Unix
[unix script] chaines & mots pour delimiteurs
watch3r, le jeu. 28 juin 2007 à 20:07:39
merci pour vos retours hyper rapides ! chapeau bas !!

je récupère une string tmpDescription qui a cette forme :
"LE NOM DU SITE la description du site DESCRIPTIF ACCES à nouveau le descriptif de l'accès au site"

cette chaîne tmpDescription reprend des éléments à supprimer :
- la variable $reference1 contient déja "LE NOM DU SITE"
- la chaîne "DESCRIPTIF ACCES" est fixe dans toutes les lignes du fichier csv que je traite

je dois donc transformer dans le script ci-dessous le contenu de la variable
tmpDescription = "LE NOM DU SITE la description du site DESCRIPTIF ACCES à nouveau le descriptif de l'accès au site"
en
description = "la description du site"

pour celà je pense :
1 - supprimer le début de la chaîne tmpDescription en utilisant la variable $reference1 qui vaut déjà "LE NOM DU SITE"
2 - supprimer la fin de la chaîne tmpDescription à partir de l'expression récurrente "DESCRIPTIF ACCES"

je vous livre mon script qui tourne sous mac os x :

#chemin relatif du fichier recupere
ficwin="./windows.csv"

#chemin relatif du fichier csv en format utf-8
utf8="./utf-8.csv"

#chemin relatif du fichier keynote
keynote="./keynote.out"

#on convertit le fichier en utf-8 et on le stocke dans un nouveau fichier utf-8.csv
iconv -f ISO-8859-15 -t UTF-8 $ficwin >$utf8

#on parse le fichier csv et on renseigne les variables
cat $utf8 | while read ligne; do
reference1=`echo "$ligne" | cut -d ';' -f 1,1 |sed 's/\"^*//' |sed 's/\"//'`
reference2=`echo "$ligne" | cut -d ';' -f 11,11 |sed 's/\"^*//' |sed 's/\"//'`
reference3=`echo "$ligne" | cut -d ';' -f 13,13 |sed 's/\"^*//' |sed 's/\"//'`
tmpDescription=`echo "$ligne" | cut -d ';' -f 18,18 |sed 's/\"^*//'`
description=???????????????????
done


merci encore une fois d'avance pour votre aide.
Précédentlami20j
juin 07
jipicy
juin 07
Suivant
REPONSES
jipicy
juin 07
lami20j
juin 07
watch3r
juin 07
jipicy
juin 07
Version Web
Réalisé par RedShift
no save