Linux でランダムな .txt (ASCII のような人間が読めるテキスト) ファイルを作成する方法

Linux でランダムな .txt (ASCII のような人間が読めるテキスト) ファイルを作成する方法

人間が読めるランダム テキスト データを含むテキスト ファイルを作成する必要があります。/dev/urandomとを使用し/dev/randomてランダム データを取得できることは知っています。 しかし、人間が読めるものではありません。 ランダム テキスト形式を含むファイルを作成する必要があります。 それを実現する方法はありますか?

答え1

次のコマンドで実行できます

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

10 MB のサイズの file.txt という名前のファイルが作成されます。

答え2

出力は次のようになります:

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

それをファイルにパイプします。

使用できますファイルサイズを制限するには、-c または -n を指定したコマンドを使用します。

1kB のファイル a.txt を生成する例:

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

答え3

このwamericanパッケージには、 で利用可能な単語の辞書が含まれています/usr/share/dict/words

これらを使用するには、次のトリックを使用できます。

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

ジオメトリを指定しないことに注意してください (行あたりの単語数、行数など)

答え4

base64英数字と のみを出力するよう/です+

私は、より多くの「句読点」文字を取得するためにこれが好きです。

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

したがって、これを使用します。

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

trシングルクォート ' バックティック ` およびバックスラッシュ \ を削除するために使用します

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

サイズ-cオプションにはhead乗数サフィックスを付けることができます: b 512、kB 1000、K 1024、MB 1000*1000、M 1024*1024、GB 1000*1000*1000、G 1024*1024*1024 など、T、P、E、Z、Y の場合も同様です。

関連情報