我正在尝试使用awk
和对 csv 文件的第二列进行采样(任何数量的样本都可以)rand()
。但是,我注意到我总是得到相同数量的样本
cat toy.txt | awk -F',' 'rand()<0.2 {print $2}' | wc -l
Run Code Online (Sandbox Code Playgroud)
我进行了探索,似乎rand()
没有按我预期的那样工作。例如,下面的 a 似乎总是 1,
cat toy.txt | awk -F',' 'a=rand() a<0.2 {print a}'
Run Code Online (Sandbox Code Playgroud)
为什么?