So erstellen Sie eine zufällige TXT-Datei (für Menschen lesbarer Text wie ASCII) unter Linux

So erstellen Sie eine zufällige TXT-Datei (für Menschen lesbarer Text wie ASCII) unter Linux

Ich muss eine Textdatei erstellen, die zufällige Textdaten enthalten soll, die von Menschen gelesen werden können. Ich weiß, dass wir /dev/urandomund 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 wamericanPaket 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

base64scheint 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 trzum Entfernen von einfachen Anführungszeichen ' Backticks ` und Backslashs \

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

Die -cGrößenoption headkann 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.

verwandte Informationen