Como criar vários arquivos com conteúdo básico - Parrot Linux

2

Eu queria saber como criar x número de arquivos com conteúdo em uma pasta?

Por exemplo:

Eu quero criar 250 arquivos com conteúdo básico na pasta de teste de meus arquivos localizada no meu diretório pessoal.

Tudo o que eu realmente preciso de ajuda é como criar muitos arquivos com conteúdo para fins de teste usando o bash shell.

Qualquer ajuda seria apreciada.

    
por Aspire27 28.04.2017 / 03:33

3 respostas

2

Você pode codificar um loop que cria um arquivo com conteúdo e executá-lo 250 vezes:

for i in $(seq 1 250) ; do echo -n "content" > ~/test/file$i ; done

Explicação:

  • seq 1 250 : mostre números de 1 a 250. Será usado por para contar a quantidade de execução que você precisa.
  • echo -n "content" > ~/test/file$i : salve "conteúdo" em seus arquivos na pasta "teste" localizada no seu diretório pessoal.

Eu prefiro usar echo -n > file$i porque é mais rápido que touch file$1 :

>> time ./01.sh
./01.sh  0,03s user 0,06s system 28% cpu 0,316 total
>> time ./02.sh
./02.sh  0,01s user 0,00s system 77% cpu 0,017 total

01.sh conteúdo:

#!/bin/bash

for i in {001..250} ; do touch ./01/file$i ; done

02.sh conteúdo:

#!/bin/bash

for i in {001..250} ; do echo -n > ./02/file$i ; done
    
por 28.04.2017 / 04:31
1

Para começar, você pode começar com este simples bash para loop:

for i in {001..250} ; do touch ./file$i ; done

Isto irá criar 250 arquivos vazios no diretório atual, chamado file001 até file250.

Toque (neste caso) apenas cria um arquivo, se ele não existir. Arquivo vazio. Se você quiser criar arquivos com algo neles, poderá alterar a parte do do loop for . Por exemplo, do cp ./master.file ./newfile.$i - que copiará o arquivo chamado master.file nos 250 novos arquivos, e estes serão chamados de newfile.001 até newfile.250.

É muito confuso? Demorei um pouco para entender como essas coisas funcionam no bash, mas uma vez que eu consegui, eu uso quase todos os dias. Então, fique à vontade para perguntar, vou tentar explicar mais e / ou melhor.

    
por 28.04.2017 / 04:06
0

Em complemento à resposta anterior (muito boa), vou me concentrar colocando algum conteúdo nos arquivos - neste caso, 3 palavras inglesas aleatórias e um número aleatório:

$ for a in {001..009}
do
(shuf -n 3 /usr/share/dict/words ; echo $RANDOM)  > FILE_$a
done

Exemplo de arquivo gerado:

$ cat FILE_005
atrophy
grays
backdate
9612
    
por 28.04.2017 / 11:59

Tags