Podemos fazer isso seguindo o comando
base64 /dev/urandom | head -c 10000000 > file.txt
Cria um arquivo com o tamanho do nome do arquivo.txt de 10 MB.
Eu preciso criar um arquivo de texto que contenha dados de texto aleatórios que possam ser lidos por humanos. Eu sei que podemos usar /dev/urandom
e /dev/random
para obter dados aleatórios. Mas não é legível por humanos. Eu preciso criar um arquivo que contenha formato de texto aleatório. Existe alguma maneira de fazer isso?
obtenha a saída de:
tr -dc A-Za-z0-9 </dev/urandom
e canalize-o para um arquivo.
Você pode usar o comando head com -c ou -n para limitar o tamanho do arquivo
exemplo para gerar um arquivo de 1kB a.txt:
tr -dc A-Za-z0-9 </dev/urandom | head -c 1024 > a.txt
base64
parece produzir apenas caracteres alfanuméricos mais /
e +
.
Eu gosto disso para obter mais caracteres de "pontuação", como
'[:punct:]'
Punctuation characters; in the 'C' locale and ASCII character
encoding, this is ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
] ^ _ ' { | } ~
Então use isso:
'[:graph:]'
Graphical characters: '[:alnum:]' and '[:punct:]'
e use tr
para remover aspas simples e backslashes \
tr -dc '[:graph:]' < /dev/urandom | tr -d \''\'\' | head -c [size]
a opção -c
size para head
pode ter um sufixo multiplicador: b 512, kB 1000, K 1024, MB 1000 * 1000, M 1024 * 1024, GB
1000 * 1000 * 1000, G 1024 * 1024 * 1024 e assim por diante para T, P, E, Z, Y.
Se você não tem / dev / urandom (porque talvez você esteja usando um console do GitBash), você pode usar:
openssl rand 33000 -base64 -out dump.txt
Tags linux