Vous pouvez utiliser seq
pour cela, mais cela ne fonctionne que si tous les fichiers ont la même convention de nommage :
seq -f "%02g-a.txt" 6 10
06-a.txt
07-a.txt
08-a.txt
09-a.txt
10-a.txt
C'est-à-dire :
cat `seq -f "%02g-a.txt" 6 10` > bigfile.txt
Il catalysera tous les fichiers nommés "$LIM
.
Même s'ils sont écrits avec un seul chiffre (comme 5 ), avec deux chiffres (comme 05 ), ou plus...
Et même si les
LIM=5
for file in $(ls);
do
number=$(echo $file | cut -f1 -d'-');
[ $number -gt $LIM ] && cat $file >> bigfile.txt;
done
En supposant que le dossier ne contient que ces fichiers.
Cela listerait tous les fichiers dont le nombre est> 5
ls [0-9]* | awk -F '-' '{if ($1> 5) print $0}'