随机播放两个并行文本文件,即使随机源相同,也不会给出相同的行

随机播放两个并行文本文件,即使随机源相同,也不会给出相同的行

这类似于随机播放两个并行文本文件

我有:

  • 两个带有平行线的大型 csv 文件。 (它们代表特定项目的“之前”和“之后”状态)。这些字段有时是字符串,有时是数字。

  • 足够长的随机数据文件以供使用shuf

当我想获得匹配的随机样本时,我想到了:

shuf -n10 --random-source="random.csv" "file1" 
shuf -n10 --random-source="random.csv" "file2" 

但这些文件不再匹配。

但是,如果我将行号放在前面,就可以解决问题:

shuf -n10 --random-source="random.csv" <(cat -n "file1") 
shuf -n10 --random-source="random.csv" <(cat -n "file2")

有人可以解释为什么吗?

这是 random.csv 的示例

0.293076138
0.446732207
0.552989654
0.16141527
0.099383023
...

这是两个文件的片段:

VA,DEFAULT,72.8027,11.9534.....
VA,DEFAULT,61.8356,11.9342....
VA,DEFAULT,61.8356,....

请注意,两个文件中大多数行的前两个字段是相同的。也许这就是问题所在?我还不够了解shuf

相关内容