Tester noms de fichiers shell bash
Slt tout le monde j'ai un ptit pb concernant mon code
il est ci dessous j'ai deux repertoires contenant des fichiers dans les langues arabes et anglais je veux copier les fichiers qui on le meme nom ( ar et ang) mais qui ont une extension differentes par exemple
A_54_6_REV1_ADD2SUPP-ar.xml
A_54_6_REV1_ADD2SUPP-en.xml
je cherche que les fichiers arabes soient copier dans ardoss et les fichiers anglais dans endoss
mon code bug deja il me copie tous les rep sans le test des noms des fichiers
merci d'avance :)
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22
| #!/bin/sh
DIR= unen/xml/en/2000
DIR2= /tokenizationun/xml/ar/2000
for i in `ls $DIR`
do
# dans le premier repertoire, pour chaque nom du fichier il va extraire la chaine jusqua ce qu'il trouve -en.xml et met la chaine dans va1
va1= echo $i | sed 's/-en.xml//'
for j in `ls $DIR2`
do
# dans le deuxieme repertoire, pour chaque nom du fichier il va extraire la chaine jusqua ce qu'il trouve -ar.xml et met la chaine dans va2
va2= echo $j | sed 's/-ar.xml//'
# on va tester si va1 = va2 si oui alors on va copier les fichiers $i dans un rep arabe et $j dans un rep anglais
if [ $va1 = $va2 ]
then
cp tokenization/un/xml/ar/2000/$j tokenization/un/xml/ar/ardoss
cp unen/xml/en/2000/$i /unen/xml/endoss
fi
done
done
exit 0 |