[0-99]
é o mesmo que [0-9]
, [0-100]
significa [01]
. [...]
define uma classe de caracteres, você não pode usar strings mais longas lá.
Para resolver sua pergunta original, você pode usar um loop:
for i in {0..99} ; do
grep "some string" file-"$i" > processed-"$i"
done
Ou, se nem todos os arquivos de entrada possíveis existirem, você poderá extrair o sufixo do nome do arquivo:
for file in file-* ; do
suffix=${file##*-}
grep "some string" "$file" > processed-"$suffix"
done