Bonjour à tous,

Je galère sur un matching de données:

J'essaie à partir d'une liste contenant:

TMP_LISTE3
0001
0002
0003
0004
....

de matcher avec les entrées de ce fichier:

TMP_LISTE01
9999999999999000199999
9999999999999000299999
9999999999999000499999

je suis en ksh donc je code ceci:


Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
 
while read line 
do
echo $line
awk '{var1=substr($0,14,4) ; if (var1 == $line ) { print $0;}}' >> ${TMP_LISTE4}
done < ${TMP_LISTE3}
J'ai essayé avant avec un grep, mais ça ne marche pas...
Code : Sélectionner tout - Visualiser dans une fenêtre à part
#grep '^.\{13\}${line}' ${TMP_LISTE01} >> ${TMP_LISTE4}
avec fgrep je ne sais pas faire du positionnel sinon je fais juste

Code : Sélectionner tout - Visualiser dans une fenêtre à part
fgrep -f ${TMP_LISTE3} ${TMP_LISTE01} > ${TMP_LISTE4}
Si une âme charitable pouvait m'aider ?

Merci.