Linux下随机选取多行数据,输出到文本文件的命令是?
2个回答
展开全部
一条命令就可以搞定,直接用shuf -n5 t.txt > L则随机在t.txt 中抽取5列 到L中
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
展开全部
老兄你问题有点看不明白啊!
你要是选取指定行数据 就用sed
比如说你要去一个文件的 5-10行数据
sed -n '1,5p' filename
追问
不是指定行啊,比如一个文件有1000W行,我想随机选10W行数据,然后把选取的结果保存到一个txt里~
追答
随机的函数 shell的我还真不知道 python的我到知道
import random
import linecache
#一个1到1000w的list列表
Random_number_list=[x for x in range(10000000)]
#从1到10W的列表中随机获取10W个数字,之后当行号
Randon_data_line= random.sample(Random_number_list,100000)
#打开一个要写入你随机出来10W行的数据,a+相当于shell的“>>”追加写
write_fname=open('aa.txt','a+')
#循环10w的那个列表
for tmp_line in Randon_data_line:
#读取随机10W行数据
tmpdata=linecache.getline('read_data.txt',tmp_line)
#并写入到你要写入的文件aa.txt
write_fname.write(tmpdata)
#关闭aa.txt
write_fname.close()
你试试,这样应该可以
本回答被网友采纳
已赞过
已踩过<
评论
收起
你对这个回答的评价是?
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询