Linux'ta rastgele bir .txt (ascii gibi insan tarafından okunabilen metin) dosyası nasıl oluşturulur


43

İnsan tarafından okunabilecek rastgele metin verilerini içermesi gereken bir metin dosyası oluşturmam gerekiyor. Bence kullanabileceğinizi biliyor /dev/urandomve /dev/randomrastgele verileri almak için. Ancak insanlar tarafından okunamaz. Rasgele metin formatı içeren bir dosya oluşturmam gerekiyor. Bunu yapmanın bir yolu var mı?


1
Gerçek anlamda "insanlar tarafından okunabilir" mi? Tam cümleler? Ya da sadece bazı sözlük kelimeler?
slhck

"Rastgele" tanımına ve ne yapmaya çalıştığınıza bağlı olarak, Linux’ta bulunan ve genellikle deponuzdan indirilebilen bir dizi Lorem Ipsum jeneratörü vardır. Bakınız Lorem Ipsum Jeneratör gibi bir şey var mı? , Çevrimdışı lorem ipsum generator , aur.archlinux.org/packages/lorem-ipsum-generator , vb.
fixer1234

Yanıtlar:


93

Komutu takip ederek yapabiliriz.

base64 /dev/urandom | head -c 10000000 > file.txt

Dosya adı file.txt 10 MB büyüklüğünde bir dosya oluşturur.


1
Bu harika, aynı zamanda her 76 karakterde bir yeni satır ekler.
wisbucky

15

çıktı almak:

tr -dc A-Za-z0-9 </dev/urandom 

ve bir dosyaya aktarın.

Dosya boyutunu sınırlamak için -c veya -n tuşlarıyla head komutunu kullanabilirsiniz.

Bir 1kB dosyası oluşturmak için örnek a.txt:

tr -dc A-Za-z0-9 </dev/urandom | head -c 1024 > a.txt

Bunun [:alnum:]yerine de kullanabilirsiniz A-Za-z0-9. Ayrıca, boşlukları ve yeni satırları serpiştirmek istiyorsanız, şu varyasyonu yapabilirsiniz:tr -dc '[:alnum:] \n' ...
wisbucky

4

base64Sadece çıkış alfanümerik karakterler artı görünüyor /ve +.

Bunun gibi daha fazla "noktalama işareti" karakteri almayı severim

'[:punct:]'
  Punctuation characters; in the 'C' locale and ASCII character
  encoding, this is ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
  ] ^ _ ` { | } ~

Yani bunu kullanın:

'[:graph:]'
     Graphical characters: '[:alnum:]' and '[:punct:]'

ve trtek tırnak işaretleri 'backticks' ve ters eğik çizgi \ kaldırmak için kullanın .

tr -dc '[:graph:]' < /dev/urandom | tr -d \''\\'\` | head -c [size]

çarpan sonekine sahip olabilmek için -cboyut seçeneği head: b 512, kB 1000, K 1024, MB 1000 * 1000, M 1024 * 1024, GB 1000 * 1000 * 1000, G 1024 * 1024 * 1024 ve benzeri T, P için , E, Z, Y.


3

/ Dev / urandom'a sahip değilseniz (belki bir GitBash konsolu kullanıyorsanız), şunları kullanabilirsiniz:

openssl rand 33000 -base64 -out dump.txt

3

Gerçek sözlüğe sadık kalmak istiyorsanız bu numarayı kullanın:

cat /usr/share/dict/words | sort -R | head -1024 > file.txt

Geometriyi belirtmediğinizi unutmayın (satır başına kaç kelime, kaç satır?)

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.