![随机播放两个并行文本文件,即使随机源相同,也不会给出相同的行](https://linux22.com/image/165090/%E9%9A%8F%E6%9C%BA%E6%92%AD%E6%94%BE%E4%B8%A4%E4%B8%AA%E5%B9%B6%E8%A1%8C%E6%96%87%E6%9C%AC%E6%96%87%E4%BB%B6%EF%BC%8C%E5%8D%B3%E4%BD%BF%E9%9A%8F%E6%9C%BA%E6%BA%90%E7%9B%B8%E5%90%8C%EF%BC%8C%E4%B9%9F%E4%B8%8D%E4%BC%9A%E7%BB%99%E5%87%BA%E7%9B%B8%E5%90%8C%E7%9A%84%E8%A1%8C.png)
这类似于随机播放两个并行文本文件
我有:
两个带有平行线的大型 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
。