Linux中的随机身份生成

一群人在一个网络的电路网格上
Gremlin / Getty Images

如果您需要生成一个名称和地址列表来测试正在使用的应用程序或脚本,那么Linux可以使其异常简单。有一个名为“rig”的命令将创建姓名、地址和电话号码列表。据我所知,开箱即用,它只适用于美国地址和区号。然而,如果情况确实如此,您可能能够解决这个问题。

使用钻井平台命令,您可以只在命令行上输入“rig”,就会生成一个单一的名称和地址。你将看到如下内容:

$ rig Mavis English 1015 Tulip St Anderson, IN 46018 (317) xxxx -xxxx

若要生成包含许多地址的列表,请使用- c选项并指定您想要查看的地址数量。

$ rig -c 3 Curt Rhodes 750 Orrand Dr Kinston, NC 28501 (919) xxx-xxxx Glenna Sheppard 531 Buncaneer Dr Seattle, WA 98109 (206) xxx-xxxx Georgina Burke 840 Plinfate St Orlando, FL 32802 (407) xxx-xxxx

您可能已经注意到,这些身份记录中的电话号码有一个区号,但电话号码只有一系列的x。在这篇文章的后面,我将演示一种可以超越这一点的方法。

如果出于某种原因,在生成的列表中只需要男性或女性名称,则可以使用- m(男)或者- f(女)选项。

钻井平台3 - m - c平台- f - c 3美元爱德华多·马修斯艾丽西亚劳拉183养犬Ln 853柳树Rd阿普尔顿,WI 54911罗诺克,弗吉尼亚州24022 (414)xxx-xxxx (703) xxx-xxxx特里斯坦麦基明迪罗梅罗608湖846年伯内特迈阿密博士,FL 33152商业中心,KS 66801 (305) xxx-xxxx (316) xxx-xxxx兰迪·查韦斯在莫里斯654村镇St 556雪松Ln斯波坎,佤邦99210 Passadena,CA 91109< = =哦!(509) xxx-xxxx (818) xxx-xxxx

很容易将输出重定向到一个文件,以保存它以供您使用。

$ rig -c 100 > id

把你的钻井平台将命令添加到脚本中可能会使它更容易使用,尽管它并没有为命令添加太多内容。在这个gen_random_IDs脚本,我们提示用户生成身份记录的数量,并将输出重定向到一个文件中。它使用bash PID来随机化文件名(例如,id .3255),以减少同名文件已经存在的可能性。

#!/bin/bash if [$# == 0];然后echo -n "number of records to generate> " read num else num=$1 fi rig -c $num > id。$$ echo "$num标识记录在id中。$ $文件”

你也可以把你的钻井平台命令进入一个简单的bash别名:

alias genIDs='rig -c 1000 > id '

添加电话号码

如果你想看到电话号码而不是这些xxx-xxxx字符串,你可以做更多的工作来实现它。您可以创建随机虚构的电话号码,以配合您虚构的身份。在下一个脚本中,我使用一个内部bash函数随机创建所需的数字来替换xxx-xxxx字符串钻井平台提供了。所示的语法旨在确保我们得到恰好有3和4位数字的数字字符串。

属性生成标识的列表钻井平台命令,然后返回遍历列表以替换xxx-xxxx字符串与生成的电话号码。

#!/bin/bash if [$# == 0];然后echo -n "number of IDs to generate> " read num else num=$1 fi if [-f id];然后rm id fi rig -c $num > id。$$ while IFS= read -r line do if [[$line == *"xxx-xxxx"]];echo -n "$ arecode " >> id echo $((100 + RANDOM % 899))-$((1000 + RANDOM % 8999)) >> id else echo "$line" >> id fi done < id。删除临时文件的rm id。你生成的身份在id文件中

在第二个版本中gen_random_IDs脚本,钻井平台控件的输出被写入id。$ $文件,并将修改后的(最终的)身份记录写入id文件。脚本启动时存在的任何该名称的文件将被简单地删除。当然,欢迎您更改任何这种行为,以根据您的首选项调整脚本。

最后一个脚本的输出如下所示。请记住,这些电话号码完全是随机的,不太可能与显示的城市的电话号码相似,尽管区号可能是可以的。

Mildred Joyner 116 Spring County Blvd Albany, NY 12212 (518) 491-5250

去国际

钻井平台命令获取它从文件中提供的信息/usr/share/rig.如果您想让它生成类似于其他国家的名称和地址,您可以替换这些文件的内容。另一方面,您的成功可能取决于地址与当前内容格式匹配的程度。的钻井平台command似乎不能很好地处理包含多个单词的城市名称,比如“San Francisco”或“New York”。它也不太可能很好地处理包含多个组件的区号。

添加数据

这些数据文件钻井平台Uses对某些字段有多达1,000个条目。我系统上的计数显示:

$ CD /usr/share/rig $ wc -l * 1000个fnamesIdx <== 1000个女人的名字1000个lname。Idx <== 1,000姓氏61 locdata。Idx <== 61个城市和州1000个名字。第60街的男人有1000个名字。Idx <== 1000个街名共3121个

这意味着它可以产生多达200万个不同的名字。如果你有这样的倾向,没有理由不能添加更多。只要遵循格式。

加入网络世界社区足球竞猜app软件脸谱网LinkedIn对自己最关心的话题发表评论。
相关:

版权©2021足球竞彩网下载

2021年IT薪资调查:结果已经出来了