Puoi usare seq
per questo, ma funziona solo se tutti i file hanno la stessa convenzione di denominazione:
seq -f "%02g-a.txt" 6 10
06-a.txt
07-a.txt
08-a.txt
09-a.txt
10-a.txt
Vale a dire:
cat `seq -f "%02g-a.txt" 6 10` > bigfile.txt
Cattura tutti i file denominati come "$LIM
.
Anche se sono scritti con una singola cifra (come 5 ), con due cifre (come 05 ), o più...
E anche se i
LIM=5
for file in $(ls);
do
number=$(echo $file | cut -f1 -d'-');
[ $number -gt $LIM ] && cat $file >> bigfile.txt;
done
Supponendo che la cartella contenga solo questi file.
Questo elencherà tutti i file in cui il numero è> 5
ls [0-9]* | awk -F '-' '{if ($1> 5) print $0}'