#!bin/bash # programme pour concaténer les fichiers textes de forme 1-1.txt,1-2.txt etc... d'un répertoire # dans la concaténation finale, les fichiers de base sont délimités par des balises, avec pour identifiant le numéro du fichier, par exemple : 1-20,3-45... # prend en arguments : # - le répertoire contenant les fichiers à concaténer # - le chemin et début du nom du fichier de concaténation, par exemple ./CONCAT/contexte # Camille REY for tableau in $(ls $1 | egrep -o "^[0-9]+-" | sed 's/-//g' | sort | uniq) do # enlever le fichier s'il existe déjà rm -f $2_$tableau.txt for fichier in $(ls $1 | egrep "^$tableau-[0-9]+.txt" | sort -t'-' -n -k2) do #extraction de l'identifiant et écriture de la balise identifiant=$(echo $fichier | sed 's/\.txt//g') echo "" >> $2_$tableau.txt #extraction du contenu du fichier et écriture cat $1$fichier | tr "[A-Z]" "[a-z]" >> $2_$tableau.txt #fermeture balise echo "" >> $2_$tableau.txt done done