`
hanqunfeng
  • 浏览: 1527658 次
  • 性别: Icon_minigender_1
  • 来自: 北京
社区版块
存档分类
最新评论

使用shuf命令模拟数据

阅读更多

有时因为测试需要,要在数据库中模拟大量的数据,而这些数据都有一定的规律,比如现在有一个包含200个用户昵称的数据文件,要将这些昵称导入到用户表中,用户表的属性有姓名、昵称、性别、年龄、用户类型等等,姓名必须是字母和数字组成的,而年龄只能取值0、1、2,分别代表女、男、保密,而年龄需要在18~35岁之间,用户类型只能取两个值(普通,高级),如何模拟出这样一些数据呢,使用shuf命令可以轻松搞定。方法如下:

一.准备数据文件

1.性别数据文件:sex.list

0

1

2

2.年龄数据文件:age.list

18

19

20

……

……

35

3.用户类型数据文件:type.list

普通

高级

4.用户名称数据文件:asciitab.list

0

1

2

……

……

9

a

b

……

……

z

A

B

……

……

Z

5.昵称文件内容如下:alais.list

天空
昭昭
多多

……

……
坏孩子
先进分子

二.编写生产数据脚本

新建一个脚步文件:makeUserData.sh,内容如下:

catalais.list |

while read line
do
username=`shuf -n 1 asciitab.list``shuf -n 1 asciitab.list``shuf -n 1 asciitab.list``shuf -n 1 asciitab.list``shuf -n 1 asciitab.list``shuf -n 1 asciitab.list`
sex=`shuf -n 1 sex.list`
age=`shuf -n 1 age.list`
type=`shuf -n 1 type.list`
echo $username##$line##$sex##$age##$type

done

说明:

1.shuf -n 1 asciitab.list 的含义是从asciitab.list 文件中随机取出一行数据,如果是-n 2就是取出两行数据

2.username就是由六位字母或数字组成

3.catalais.list |while read line:读取alais.list的每一行数据,并将该行数据保存在line中,echo $username##$line##$sex##$age##$type,就用到了这个变量

三.运行脚本

sh makeUserData.sh > userData.list

生成的userData.list内容如下:

a2Srtc##昭昭##1##34##普通

bHGtrs##坏孩子##2##19##高级

…………………………

…………………………

98Dyte##天空##1##24##普通

四.数据入库

这部分就随意吧,喜欢使用什么方式都可以,基本思想就是解析文件并入库。

补充说明:

这个帖子发了有一段时间了,最近才发现,原来好多linux版本在安装时不会安装shuf命令,我在网上查了一下,未发现有关安装这个命令的资料,同时通过linux自动查找也没有找到,比较奇怪啊。

我当初使用的cygwin,一个在windows上模拟linux的工具,选择的是完全安装,shuf也就装上了。

这里给出一个没有shuf命令的解决办法,就是写一个随机读取一行文件的小命令,如下:

perl -e 'srand;' \
-e 'rand($.) < 1 && ($it = $_) while <>;' \
-e 'print $it' $1
这里使用了perl命令,一般来说,perl命令是都会默认安装的。

将以上脚本保存在文件shuf.sh中,将以上用到shuf -n 1的地方修改为sh shuf.sh即可。

 

分享到:
评论

相关推荐

    pytorch加载语音类自定义数据集的方法教程

     pytorch对一下常用的公开数据集有很方便的API接口,但是当我们需要使用自己的数据集训练神经网络时,就需要自定义数据集,在pytorch中,提供了一些类,方便我们定义自己的数据集合 torch.utils.data.Dataset:...

    windows dos环境下直接运行linux命令集合

    使用方法,解压到本地目录,配置path,即可在dos下使用linux命令。 windows下能直接执行的linux命令,基本包括日常所有,如:[.exe grolbp.exe regtool.exe a2p.exe grolj4.exe rm.exe a2p5.10.0.exe grops.exe ...

    linux常用命令源码(ls,cp,chmod,df等一百多个命令)

    linux下大部分常用命令源码,偶正要开始学习-_- base64.c basename.c c99-to-c89.diff cat.c chcon.c chgrp.c chmod.c chown.c chown-core.c chown-core.h chroot.c cksum.c comm.c copy.c cp.c cp-hash.c csplit.c ...

    在python中以相同顺序shuffle两个list的方法

    通常做机器学习问题时,需要准备训练数据,通常会把样本数据和标签存放于2个list中,比如train_x = [x1,x2,…,xN][x1,x2,…,xN],train_y = [y1,y2,…,yN][y1,y2,…,yN]. 有时候是需要将数据shuffle后再做处理的...

    快速自学Linux命令的4种方法

    这会向你介绍一些有用的命令及其高级使用技巧。 在.bashrc中(/home/.bashrc)增加如下一行: echo Did you know that:; whatis$(ls /bin | shuf -n 1) 你只需要增加这行就够了!如果你想让它更娱乐化一些,你可以...

    shell 随机从文件中抽取若干行的实现方法

    shuf -n5 main.txt sort -R main.txt | head -5 awk -vN=5 -vC=”`wc -l file`” ‘BEGIN{srand();while(n&lt;N){i=int(rand()*C+1);...shuf 命令的选项: -e, –echo :将每个参数视为输入行 -i, –input-ran

    busybox for windows

    这是一款使Unix命令集合能直接在window上面使用的应用程序。 所含的命令有: [, ar, ash, awk, base64, basename, bash, bbconfig, bunzip2, bzcat, bzip2, cal, cat, catv, chmod, cksum, clear, cmp, comm, cp, ...

    Linux使用Cron+AT实现在某个确定的时间段内随机执行命令

    写了个脚本签到,但是不想总是在确定的时间签到,不然在数据库里面的记录太假了,所以需要在确定的时间段内,随机选个时间执行,最后想到了使用Cron+AT实现 思路很简单,就是cron设置一个起始时间,比如每天早上6点...

    11个有用的Linux命令

    Linux命令行吸引了大多数Linux爱好者。一个正常的Linux用户一般掌握大约50-60个命令来处理每日的任务。今天为你解释下面几个命令:sudo、python、mtr、Ctrl+x+e、nl、shuf、shuf、last。

    大分类数据互信息的计算及其在特征分组中的应用

    本文开发了一个并行计算系统MiCS,用于在Spark计算平台上获取大分类数据的... 为了提高MiCS的效率和Spark集群资源的利用率,我们采用了虚拟分区方案来实现均衡负载,同时缓解了Spark Shuf fl e过程中的数据偏斜问题。

    csvshuf:随机化CSV文件中列内的单元格。 类似于GNU shuf,但适用于CSV

    csvshuf 在CSV文件中按列随机排列单元格。 用法 usage: csvshuf [-h] [-s] [-c COLUMNS | -C NO_COLUMNS] [-d DELIMITER | -t ] [-q QUOTECHAR] [-o OUTPUT_DELIMITER] [-v] [FILE] positional arguments: ...

    最经典的蛙跳算法论文(Shuffled Frog-Leaping Algorithm,英文原版)

    经典的蛙跳算法,在2006年由Engineering Optimization 杂志发表,作者为:Muzaffar Eusuff, 题目为:Shuffled Frog-Leaping Algorithm: a memetic meta-heuristic for discrete optimization. 后续的所有蛙跳算法都...

    sommatlab代码-SOM_VN:SOM_VN

    您可以通过在Python命令行上运行以下命令来检查此问题: import sys print sys.maxunicode如果使用UCS2,则应打印65535 。 wig_split.py。 这可以通过存储库获得。 注意:我们计划发布不具有此依赖关系的将来版本。 ...

    腾讯大数据之TDW计算引擎解析——Shuffle

    腾讯分布式数据仓库(TencentdistributedDataWarehouse,简称TDW)基于开源软件Hadoop和Hive进行构建,并且根据公司数据量大、计算复杂等特定情况进行了大量优化和改造,目前单集群最大规模达到5600台,每日作业数...

    ropebwt2:DNA序列的FM索引的增量构建

    可以使用Unix命令来实现RLO: rev seq.txt | sort | revRopeBWT2能够与FM-index的结构一起执行排序。 因此,以下命令行提供相同的输出: shuf seq.txt | ropebwt2 -LRs | md5sumrev seq.txt | sort | rev | ropebwt...

    youtube-shuffle:随机播放您的YouTube播放列表

    YouTube随机播放 此应用程序将随机播放YouTube播放列表,以便您可以在不支持随机播放的YouTube平台(例如Apple TV)上播放随机播放的播放列表。 入门 前往 您将被重定向到Google以使用...如果您之前已通过YouTube Shuf

    simple-ntc:此仓库使用RNN和CNN提供了一个简单的短文本分类代码

    简单神经文本分类(NTC) 该存储库包含使用递归神经网络(LSTM)和卷积神经网络(来自[ ])的朴素和简单文本分类的实现。 您需要指定要训练的体系结构,并且可以同时... $ cat ./data/raw_corpus.txt | shuf | headposi

    An Extremely Efficient Convolutional Neural Network for Mobile Devices

    operations, pointwise group convolution and channel shuf- fle, to greatly reduce computation cost while maintaining accuracy. Experiments on ImageNet classification and MS COCO object detection ...

    common_crawl

    用于从Common Crawl中提取文本的代码 将文件列表URL下载到WET文件并进行更正: ... 将网址提供给python脚本,以下载提取的,清理后的文本文件: ... cp $(ls -l downloaded | tail -8581 | shuf | head -

    《金融软件与编程》课程教学大纲1

    (三)推荐网站1.上海财经大学,http://course.shuf.edu.cn/jrjlx/kcms-1.htm2.中国统计学会,http://csr.st

Global site tag (gtag.js) - Google Analytics