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


43

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


1
「人間が読むことができる」というのは、実際の意味を成しているのでしょうか?全文?それとも辞書に載っている言葉ですか?
slhck

「ランダム」の定義と何を達成しようとしているかに応じて、多くのLorem IpsumジェネレーターがLinuxで利用可能、またはLinuxからアクセス可能です。多くの場合、ディストリビューションのリポジトリからダウンロードできます。参照は、A Loremのイプサム発電機のようなものはありますか?オフラインlorem ipsumジェネレーターaur.archlinux.org/packages/ lorem-ipsum
generator

回答:


93

次のコマンドでそれを行うことができます

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

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


1
これは素晴らしいです。76文字ごとに改行も追加します。
ウィスバッキー

15

次の出力を取得します。

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

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

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

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

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

[:alnum:]代わりに使用することもできますA-Za-z0-9。あなたが散りばめスペースや改行をしたい場合にも、あなたはこの変化を行うことができますtr -dc '[:alnum:] \n' ...
wisbucky

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するサイズオプションheadB 512、kBの1000 * 1024 K 1024 MB * 1000~1000、M×1024 1024×1000 *千ギガバイト1000 G 1024×1024等T、Pのために:乗数サフィックスを持つことができ、E、Z、Y


3

/ dev / urandomがない場合(おそらくGitBashコンソールを使用しているため)、次を使用できます。

openssl rand 33000 -base64 -out dump.txt

3

実際の辞書の単語に固執したい場合は、そのトリックを使用します。

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

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

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.