¿Cómo puedo generar un archivo aleatorio rellenado con un número aleatorio o un carácter en el script de shell? También quiero especificar el tamaño del archivo.generar un archivo aleatorio utilizando el script de shell
Respuesta
Utilice el comando dd
para leer los datos de/dev/random.
dd if=/dev/random of=random.dat bs=1000000 count=5000
que diga 5000 1MB bloques de datos aleatorios, que es un conjunto 5 gigabytes de datos al azar!
Experimente con argumento blocksize para obtener el rendimiento óptimo.
la variable aleatoria le dará un número diferente cada vez:
echo $RANDOM
head -c 10 /dev/random > rand.txt
cambio 10 a lo que sea. Lea "hombre al azar" para ver las diferencias entre/dev/random y/dev/urandom.
O, por sólo caracteres base64
head -c 10 /dev/random | base64 | head -c 10 > rand.txt
Las base 64 podrían incluir algunos caracteres que no le interesan, pero no tienen tiempo para llegar a un mejor convertidor de caracteres de un solo revestimiento ... (también estamos tomando demasiados bytes desde/dev/random lo siento, de entropía.!)
¡Uy !, se perdió la parte de los personajes y los números, supongo que te refieres a los caracteres alfanuméricos ... hay que revisar. –
Ahorro de entropía: la última tendencia en la vida verde de los ególogos. :) –
Un buen comienzo sería:
http://linuxgazette.net/153/pfeiffer.html
#!/bin/bash
# Created by Ben Okopnik on Wed Jul 16 18:04:33 EDT 2008
######## User settings ############
MAXDIRS=5
MAXDEPTH=2
MAXFILES=10
MAXSIZE=1000
######## End of user settings ############
# How deep in the file system are we now?
TOP=`pwd|tr -cd '/'|wc -c`
populate() {
cd $1
curdir=$PWD
files=$(($RANDOM*$MAXFILES/32767))
for n in `seq $files`
do
f=`mktemp XXXXXX`
size=$(($RANDOM*$MAXSIZE/32767))
head -c $size /dev/urandom > $f
done
depth=`pwd|tr -cd '/'|wc -c`
if [ $(($depth-$TOP)) -ge $MAXDEPTH ]
then
return
fi
unset dirlist
dirs=$(($RANDOM*$MAXDIRS/32767))
for n in `seq $dirs`
do
d=`mktemp -d XXXXXX`
dirlist="$dirlist${dirlist:+ }$PWD/$d"
done
for dir in $dirlist
do
populate "$dir"
done
}
populate $PWD
Guardar como "script.sh", ejecutar como ./script.sh TAMAÑO. El código printf se levantó de http://mywiki.wooledge.org/BashFAQ/071. Por supuesto, podrías inicializar la matriz mychars con fuerza bruta, mychars = ("0" "1" ... "A" ... "Z" "a" ... "z"), pero eso no ser divertido, ¿verdad?
#!/bin/bash
declare -a mychars
for ((I=0; I<62; I++)); do
if [ $I -lt 10 ]; then
mychars[I]=$I
elif [ $I -lt 36 ]; then
D=$((I+55))
mychars[I]=$(printf \\$(($D/64*100+$D%64/8*10+$D%8)))
else
D=$((I+61))
mychars[I]=$(printf \\$(($D/64*100+$D%64/8*10+$D%8)))
fi
done
for ((I=$1; I>0; I--)); do
echo -n ${mychars[$((RANDOM%62))]}
done
echo
El enfoque/dev/random & base64 también es bueno, en lugar de pasar por base64, pasar por "tr -d -c [: alnum:]", entonces solo necesita contar los buenos caracteres que salen hasta que Está hecho. – nortally
Crear 100 archivos con el nombre al azar de 50 MB de tamaño cada uno:
for i in `seq 1 100`; do echo $i; dd if=/dev/urandom bs=1024 count=50000 > `echo $RANDOM`; done
Es mejor usar mktemp para crear archivos aleatorios. para i en la sección 1 100; do myfile = 'mktemp --tmpdir = .' dd if =/dev/urandom bs = 1024 count = 50000> $ myfile hecho –
- 1. utilizando o en el script de shell script de
- 2. leer el contenido de un directorio utilizando script de shell
- 3. Generar el árbol de llamadas de script de shell
- 4. Generar un número aleatorio de N-dígitos
- 5. ¿Cómo ejecutar un script de shell utilizando Spotlight?
- 6. Cifrar un archivo usando el script bash shell
- 7. codificación de script de shell de archivo
- 8. script de shell para generar procesos, finalizar hijos en SIGTERM
- 9. Generando un archivo binario aleatorio
- 10. Ejecutar script de shell utilizando texto de script de fabric y de canal en stdin de shell
- 11. Generar un número aleatorio con el preprocesador C
- 12. ¿Cómo puedo generar variables de entorno para un shell de comandos en un script de Ruby?
- 13. enviar salida al archivo desde el script de shell
- 14. Shell script + escribir en el archivo de una cadena
- 15. Prueba de un script de shell bash
- 16. Algoritmo para generar un número aleatorio
- 17. Reemplazar una cadena en script de shell utilizando una variable
- 18. usando rand para generar un número aleatorio
- 19. ejecución remota del script de shell utilizando python
- 20. ¿Cómo hacer un script de shell global?
- 21. ¿Cómo generar un número aleatorio en Bash?
- 22. ¿Generar un número aleatorio dentro del rango?
- 23. generar un número aleatorio con 7 dígitos
- 24. generar un número aleatorio corto en java?
- 25. Ruby, generar un color hexadecimal aleatorio
- 26. Ejecutar un archivo EXE utilizando un script de PowerShell
- 27. Shell script para detener un programa java
- 28. Java Generar número aleatorio {-1,0,1}
- 29. Cómo obtener la extensión de un archivo en el script de shell
- 30. Prueba de script Shell
Qué personajes están permitidos en el archivo de salida? cualquier byte aleatorio o solo bytes ascii alfanuméricos? –