Que tal um simples loop for
?
for i in *; do echo media $i >> text_file; done
Explicações
-
*
- expande para todos os arquivos no diretório atual -
echo media $i
- imprime “mídia” e o nome de arquivo atualmente processado -
>> text_file
- redireciona a saída deecho
para um arquivo chamadotext_file
acrescentando
Exemplo
$ ls
sound1 sound2 sound3
$ for i in *; do echo media $i >> text_file; done
$ cat text_file
media sound1
media sound2
media sound3
Pergunta bônus
k=0; for i in *; do ((k++)); echo media$k $i >> text_file; done
Ou para muito muitos arquivos (um pouco mais rápidos):
j=text_file; k=0; for i in *; do if [[ "$i" != "$j" ]]; then ((k++)); echo media$k $i; fi; done > "$j"
Explicações
-
k=0
- defina a variávelk
e defina como0
-
((k++))
- incremento$k
em um
Exemplo
$ ls
sound1 sound2 sound3
$ k=0; for i in *; do ((k++)); echo media$k $i >> text_file; done
$ cat text_file
media1 sound1
media2 sound2
media3 sound3