bluescharp 发表于 2016-2-26 08:38:54

求个大文本乱序的工具

txt文本,1G以上,按行乱序。
求工具。之前用的都不行。

54clz 发表于 2016-2-26 08:47:33

按行导到数据库去 然后...

801023 发表于 2016-2-26 08:48:50

1G文本,你电脑不死机么?

bluescharp 发表于 2016-2-26 09:04:15

801023 发表于 2016-2-26 08:48
1G文本,你电脑不死机么?

16G内存,没什么问题。

bluescharp 发表于 2016-2-26 09:04:53

54clz 发表于 2016-2-26 08:47
按行导到数据库去 然后...

然后怎么弄?

54clz 发表于 2016-2-26 09:23:31

然后想办法打乱呗方法多得是

比如一个简单的SQL语句 INSERT INTO articles2 SELECT * from articles ORDER BY random()
你还可以通过限定条件范围多搞几次 它就乱了

James_Liu 发表于 2016-2-26 10:28:14

我有个思路,把文件切割成几个小的,然后Python处理。

seanhere 发表于 2016-2-26 10:35:22

python用readlines读取txt文本,获得总行数,然后random sample应该可以

李小冲 发表于 2016-2-26 10:42:33

应该没有什么问题,先用StreamReader异步读取,要不行就使用内存文件映射读取

fei 发表于 2016-2-26 11:32:55

曾经在 bash下用命令行搞过,文件大小不是问题

fei 发表于 2016-2-26 11:37:06

http://stackoverflow.com/questions/2153882/how-can-i-shuffle-the-lines-of-a-text-file-on-the-unix-command-line-or-in-a-shel

fei 发表于 2016-2-26 11:42:34

$ cat test.txt
1
2
3
4
5
6
7
8
9
10
11
12


$ cat test.txt | perl -MList::Util=shuffle -e 'print shuffle(<STDIN>);'
8
12
6
2
4
10
11
1
5
9
3
7

fei 发表于 2016-2-26 12:03:10

或者这个,如果你系统有shuf命令:

root@slackware:/tmp# cat test.txt
1
2
3
4
5
6
6
7
8
9
9
10
11
12
root@slackware:/tmp# shuf test.txt
6
10
11
7
1
5
3
9
6
4
12
8
9
2

fei 发表于 2016-2-26 12:09:54

shuf test.txt> output.txt

bjzhush 发表于 2016-2-26 15:02:43

楼上屌爆了
页: [1] 2
查看完整版本: 求个大文本乱序的工具