%20unter%20Linux.png)
Ich muss eine Textdatei erstellen, die zufällige Textdaten enthalten soll, die von Menschen gelesen werden können. Ich weiß, dass wir /dev/urandom
und verwenden können /dev/random
, um zufällige Daten zu erhalten. Aber sie sind nicht für Menschen lesbar. Ich muss eine Datei erstellen, die ein zufälliges Textformat enthält. Gibt es eine Möglichkeit, das zu tun?
Antwort1
Wir können dies mit dem folgenden Befehl tun
base64 /dev/urandom | head -c 10000000 > file.txt
Es erstellt eine Datei mit dem Namen file.txt und einer Größe von 10 MB.
Antwort2
Erhalten Sie die Ausgabe von:
tr -dc A-Za-z0-9 </dev/urandom
und leiten Sie es in eine Datei weiter.
Sie könnenKopfBefehl mit -c oder -n, um die Dateigröße zu begrenzen
Beispiel zum Generieren einer 1-kB-Datei a.txt:
tr -dc A-Za-z0-9 </dev/urandom | head -c 1024 > a.txt
Antwort3
Das wamerican
Paket bietet ein Wörterbuch mit Wörtern, die unter verfügbar sind /usr/share/dict/words
.
Um diese zu nutzen, kannst Du folgenden Trick anwenden:
cat /usr/share/dict/words | sort -R | head -1024 > file.txt
Beachten Sie, dass Sie die Geometrie nicht angeben (wie viele Wörter pro Zeile, wie viele Zeilen?)
Antwort4
base64
scheint nur alphanumerische Zeichen plus /
und auszugeben +
.
Ich möchte, dass dadurch mehr Satzzeichen entstehen, wie
'[:punct:]'
Punctuation characters; in the 'C' locale and ASCII character
encoding, this is ! " # $ % & ' ( ) * + , - . / : ; < = > ? @ [ \
] ^ _ ` { | } ~
Verwenden Sie also Folgendes:
'[:graph:]'
Graphical characters: '[:alnum:]' and '[:punct:]'
und verwenden Sie tr
zum Entfernen von einfachen Anführungszeichen ' Backticks ` und Backslashs \
tr -dc '[:graph:]' < /dev/urandom | tr -d \''\\'\` | head -c [size]
Die -c
Größenoption head
kann ein Multiplikatorsuffix haben: b 512, kB 1000, K 1024, MB 1000*1000, M 1024*1024, GB 1000*1000*1000, G 1024*1024*1024 und so weiter für T, P, E, Z, Y.