Linuxコンソール上でランダムなテキストデータを作成する
Pocket

Linuxコンソール上でランダムなテキストデータを作成する場合、「/dev/random」を読みこませると良いだろう。
以下のようにコマンドを実行することで、各行が指定した文字数でランダムな文字列を生成させることができる。

cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w <文字数> | head -<行数>
blacknon@BS-PUB-UBUNTU-01:~$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -10
ZbCHUnpLykIrgc6dYmO1
QgUgrCYkfi9Blb0u0jO1
roiCw0cos1HEZuDUspby
kgdHqoEKmel4GUU50IDm
b27W6KN21mktPcMgSGEv
4pF8SZvylK33BGtmmyGd
5ASldEH7X4YvGqsqOBCv
WIoIwvOiW82ZN0UZZzbr
jYI3Otbt2h6jrf3ZxjdA
5u3eDAJwnOFOlEiEQvex
blacknon@BS-PUB-UBUNTU-01:~$ cat /dev/urandom | tr -dc 'a-zA-Z0-9' | fold -w 20 | head -10
zT88WiuiSmDHEcUtEPz3
Oly72Kl988CDuxMxnnXt
HPrkXuSv6cesPhLLzvMn
U44ePkhydiZIbYNtEIQp
rizxqiqrWGc6A7N6FzDy
0imdFV2qIBqO80rXtZaV
uukWvYer209Z39EE4Mb0
bhWTZ9vGM6jBP6rqvN4h
UE7JFtQws5ky99KWzoxC
LyrKTIjTpa1nmJvtq3fQ

 

もし数字無しで出力させたい場合は、以下のように「a-zA-Z」を指定すればよいだろう。

cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w <文字数> | head -<行数>
blacknon@BS-PUB-UBUNTU-01:~$ cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 30 | head -10
ezlWZjewfWmKGEiAjDyYeZnXqzELKo
EfXjgxkoJMGRFtJDFOKSaTqHbBYyeY
qBamVSMPXhlHELkhLhJvzhgoNYINPd
ujOqjtzsgRulPDOaLoHwyGaZdDySYi
tFKtyjJlxMjeGclBvBWjgbIJQfuhvN
chpyFyCtzuIOSzOMiFWkWBhDVkKZkj
QkgEonqYcpVSBPwqeLUZKngUTMuukm
qlCKNnAjFiwHXufqzAFQZwBLWkAFYd
lsySQGwJFvLXXSjPvZObiqookkrRRv
hBtETEOhqZrYsImBGhrKkHSyADLtEe
blacknon@BS-PUB-UBUNTU-01:~$ cat /dev/urandom | tr -dc 'a-zA-Z' | fold -w 30 | head -10
pYnbNkyNsGPMvZgIUnwTLzJyuZFjYM
zNdPWnfwufKRMICcqQmqWfTLDbKRfp
PdtBrFbCpzcaliOruQolSQgTBfOykO
xepHVwUCBESLkTMfqqaszxYaSjuQXT
PVSCveSKHhosnXEaKdCTetruziNcBQ
TLNfruOPiSvLgayMijfGLuRFtWaqZU
AaLBKUUboQSKQQmnvUJgIInORwTFCD
awEOpiQCuIRczuzNTsgwMZdKZqbCoc
ezveTFSazWMckVIfMiSRinPygYdFRq
YBItqqigIPIVbHsZRAckORqMGWXNPX
Sponsored Links

CSVのようなデータをサンプルとして作成したい場合は、ちょっと強引だけどもpasteコマンドと組み合わせることで作成できるだろう。
例えばID,ユーザ名,パスワードといったサンプルCSVを作成する場合なら、ユーザ名の元となるリストさえあればランダムでそれを読み込ませ、パスワードはこの方法で作成させればいい。

blacknon@BS-PUB-UBUNTU-01:~$ paste -d, <(echo {1..10000}| sed 's/ /\n/g') <(shuf -n 10 /tmp/name.list) <(cat /dev/urandom | tr -dc '[:alnum:]' | fold -w 20) | head -10
1,Teressa Laub,VXRizatB1eRgCoJJixbD
2,Edith Klaus,wrK8NEx6rDPQvAEA3iJQ
3,Vi Fogle,vSqKOuDdusbNK8MmLKFb
4,Brett Kirkley,Bns5UWOJdG0SqsA7BbJI
5,Irina Tai,8XUV0CMAnTVMUU91zdju
6,Eddy Spade,EtrJCs52vljRxjnF2svI
7,Ronni Doney,tFaIo3sGYQ4fuuXSlrSf
8,Thao Curnutt,VgnUuAVDamFrQpAqaqPI
9,Sean Hagler,ZqUChvxcMIV7Xl2sjZjC
10,Milissa Wile,XZ3IGU0GXeJWhnkJo8xq
blacknon@BS-PUB-UBUNTU-01:~$ paste -d, <(echo {1..10000}| sed 's/ /\n/g') <(shuf -n 10 /tmp/name.list) <(cat /dev/urandom | tr -dc '[:alnum:]' | fold -w 20) | head -10
1,Josue Laskey,IEEoXUuNfDTZiRsYVCsa
2,Tana Pratt,QyabqgchqE4XuxVhbe09
3,Rosario Dixion,2Q2pgTW8nHfEK0s2uBE9
4,Gretta Ellingson,eZByXjVBCu5htYJCkgKb
5,Pearlene Coyne,Nr8jEvlfGE1NaqbB9pbV
6,Rosemary Luque,NXDz04BqWBpkrYghaQDY
7,Yer Staudt,49wcuZq9BebEpwEGDA9f
8,Keisha Green,GoPwUC7FNO1RQy1CkLKP
9,Joelle Kotek,CeNl06RPt4OgmMP6v2ff
10,Teressa Laub,fvKzXy3hrU2OQU6EUCcH

 

Pocket

Written by blacknon

インフラ系のSE。一時期はプログラマ。 仮想化とオープンソースに興味あり。一日中寝てたい今日このごろ。 スペインとかで働きたいなぁ…(シエスタがあるので)

Leave a Comment

メールアドレスが公開されることはありません。