Cómo crear múltiples archivos con contenido básico - Parrot Linux

Cómo crear múltiples archivos con contenido básico - Parrot Linux

Quería saber cómo puedo crear x cantidad de archivos con contenido en una carpeta.

Por ejemplo:

Quiero crear 250 archivos con contenido básico en la carpeta de prueba de mis archivos ubicada en mi directorio de inicio.

Lo único que realmente necesito ayuda es cómo crear una gran cantidad de archivos con contenido para fines de prueba usando bash shell.

Cualquier ayuda sería apreciada.

Respuesta1

Puedes codificar un bucle que crea un archivo con contenido y ejecutarlo 250 veces:

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

Explicación:

  • seq 1 250: muestra números del 1 al 250. Será utilizado por para contar la cantidad de ejecución que necesita.
  • echo -n "content" > ~/test/file$i: guarde el "contenido" en sus archivos en la carpeta "prueba" ubicada en su directorio de inicio.

Prefiero usarlo echo -n > file$iporque es más 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.shcontenido:

#!/bin/bash

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

02.shcontenido:

#!/bin/bash

for i in {001..250} ; do echo -n > ./02/file$i ; done

Respuesta2

Para empezar, puedes comenzar con este sencillo bucle for de bash:

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

Esto creará 250 archivos vacíos en el directorio actual, llamados archivo001 hasta archivo250.

Touch (en este caso) simplemente crea un archivo, si no existe. Archivo vacío. Si desea crear archivos con algo dentro, puede cambiar la doparte del forbucle. Por ejemplo do cp ./master.file ./newfile.$i, que copiará el archivo llamado master.file en los 250 archivos nuevos y estos se llamarán newfile.001 hasta newfile.250.

¿Es demasiado confuso? Me tomó un tiempo entender cómo funcionan estas cosas en bash, pero una vez que lo logré, lo uso casi todos los días. Así que no dudes en preguntar, intentaré explicarlo más y/o mejor.

Respuesta3

Además de la respuesta anterior (muy buena), me centraré en poner algo de contenido en los archivos, en este caso, 3 palabras en inglés aleatorias y un número aleatorio:

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

Ejemplo de archivo generado:

$ cat FILE_005
atrophy
grays
backdate
9612

información relacionada