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
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
