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
| #!/bin/bash
#On concatene fic1 et fic2 pour travailler sur un ensemble.
cat fic1 fic2 > fic3
#On retire les doublons de fic3 et on le trie par ordre alphabetique en passant.
cat fic3 | awk '{print $2}' | sort -d | uniq -u | tee fic3 1>/dev/null
#On boucle pour tester l'existence de chaque ligne sur fic2 (en testant le code retour).
for i in `cat fic3 | awk '{print $0}'`
do
grep $i fic2 1>/dev/null
if [ $? -eq 0 ]
then
#Si il existe sur fic 2 on le retire de la liste.
sed -i "/$i/d" fic3
fi
done
#On reinitialise le fichier final.
rm fic4
#On enumere chaque ligne afin d'avoir ce format n.xxx
echo "`grep -n "^[Aa-Zz]*" fic3`" > fic3
#Pour chaque ligne lue on le transforme en format n. xxx que l'on envoie vers le fichier final.
cat fic3 | while read ligne
do echo $ligne | awk '{print substr($0,1,1)"." " "substr($0,3)}' >> fic4
done |
Partager