(em adição a @Philippos): Bash está tentando expandir a variável $i_
em vez de $i
.
Experimente ...${i}_...
:
for i in {00..21}
do
grep "text" file_${i}_*out > out_$i.txt
done
Eu tenho um grande número de arquivos que são numerados de uma maneira como file_01_01.out
, em que o primeiro número é o grupo ao qual o arquivo pertence e o segundo é o número do arquivo no grupo - portanto, file_10_07.out
é o 7º arquivo no 10º grupo.
Eu quero copiar algum texto desses arquivos e agrupá-los em alguns arquivos de saída. Eu tentei usar isso e realmente não funciona, e não consigo entender o porquê:
for i in {0..21};
do
grep "text" file_$i_*out > out_$i.txt;
done;
Não sei por que isso não funciona, mas definitivamente há lógica na saída. Não é apenas a saída que eu queria, e alguns arquivos são simplesmente ignorados.
Seu padrão será expandido para file_1_
, mas você precisará de file_01_
Use for i in {00..21};