我正在一个机器翻译项目中,其中有English和German两种语言的450万行文字。在将数据划分为训练模型的分片之前,我想先对这些行进行混洗。我知道here中描述的shuf
命令允许一个人对一个文件中的行进行混排,但是如何确保第二个文件中的相应行也被按相同顺序混排?是否有命令在两个文件中随机排列行?
答案 0 :(得分:1)
paste
可以将两个文件中的单独列创建为一个文件shuf
在单个文件上cut
拆分列粘贴
$ cat test.en
a b c
d e f
g h i
$ cat test.de
1 2 3
4 5 6
7 8 9
$ paste test.en test.de > test.en-de
$ cat test.en-de
a b c 1 2 3
d e f 4 5 6
g h i 7 8 9
随机播放
$ shuf test.en-de > test.en-de.shuf
$ cat test.en-de.shuf
d e f 4 5 6
a b c 1 2 3
g h i 7 8 9
剪切
$ cut -f1 test.en-de.shuf> test.en-de.shuf.en
$ cut -f2 test.en-de.shuf> test.en-de.shuf.de
$ cat test.en-de.shuf.en
d e f
a b c
g h i
$ cat test.en-de.shuf.de
4 5 6
1 2 3
7 8 9