Bonjour,


Je cherche à réaliser un motif de recherche à partir du nom d'un 1er fichier et d'un ID récupéré dans un fichier texte.
Le nom du 1er fichier est : Zone1_10_02_2010_Test.tif
Le fichier texte contient des noms de zones avec des ID correspondants, il est structuré selon la nomenclature suivante : Zone1 196

Ce motif me servira par la suite à rechercher un 2e fichier dans un autre repertoire. (Partie absente du code source ci-dessous)


Voici mon code source :

Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
 
 
#! /bin/bash 
 
 
for file in *.tif 
do
 
	Longueur_NomFichier=$(echo `expr length $file`)
	echo "Longeur nom : "$Longueur_NomFichier
 
		#Extraction ID
	((Fin_NomZone=$Longueur_NomFichier-20))
	NomZone=$(echo $file | cut -c1-$Fin_NomZone)
	echo "Nom de la zone : "$NomZone
	ID=$( grep -i "$NomZone" ID.txt | awk '{print $2}') # Extrait la ligne du fichier texte contenant motif : $NomZone, puis la 2e colonne
	echo "ID : " $ID
 
		#Extraction de la date 
	((Longueur_NomZone=$Longueur_NomFichier-18))
	((Fin_date=$Longueur_NomZone+9))
	Date=$(echo $file | cut -c$Longueur_NomZone-$Fin_date)
	echo "Date "$Date
	Mois=$(echo $Date | cut -c1-2)
	echo "Mois "$Mois
	J=$(echo $Date | cut -c4-5)
	echo "Jour "$J
	Annee=$(echo $Date | cut -c7-10)
	echo "Annee "$Annee
 
		# Creation du motif
	Motif_Recherche1="_"$ID"_"$Annee"-"$Mois"-"$J 
	Motif_Recherche2="_"$Annee"-"$Mois"-"$J"_"$ID 
	echo "Motif 1 = "$Motif_Recherche1	
	echo "Motif 2 = "$Motif_Recherche2
 
done
La console m'affiche les résultats suivants :


Longeur nom : 25
Nom de la zone : Zone1
ID : 196
Date 10_02_2010
Mois 10
Jour 02
Annee 2010
_2010-10-02196
Motif 2 = _2010-10-02_196

Le motif 2 est affiché correctement contrairement au motif 1. Le motif 2 est un test pour montrer que l'affichage est fait correctement, j'ai besoin uniquement du motif 1 que je ne parviens pas à créer. Je ne comprends pas d'ou vient ce problème.
Pouvez vous si possible me donner un coup de main.

Merci d'avance pour votre aide.


Azgard