我有以下文件:
452 0/0 10 30 40
460 0/1 0 40 40
500 0/0 5 35 40
600 0/1 15 25 40
800 1/1 40 0 40
真正的文件包含数百万行。如果第二个字段是0/0,则打印第三列和第五列。如果第二个字段是1/1,则打印第4列和第5列。使用此命令:
awk 'BEGIN{OFS="\t"}{ if($2=="0/0") {print $1, $2, $3, $5} else if($2=="1/1") {print $1, $2, $4, $5}}' file
问题是当第二个字段为0/1时。我想随机选择0或1,如果选择0,打印第3列和第5列,如果选择1,打印第4列和第5列。你知道吗
是否有一种方法可以在每次出现0/1时随机选择0或1?代码可以是awk、bash或python。你知道吗
使用paxdiablo的Random numbers generation with awk in BASH shell技巧,您可以说:
在
chosen
中,我们存储3或4。用chosen=3+int(rand()+0.5)
我们得到3或4。你知道吗让我们看看它的工作:
使用python的解决方案:可以使用
random
并指向包含0
和1
的列表相关问题 更多 >
编程相关推荐