如何使用awk获得具有给定分布的随机线?

如何使用awk获得具有给定分布的随机线?,awk,Awk,我有两个表格文件,我想合并,但在此之前,我想减少第二个 第一个文件假设File1是表格式的,如下所示 A 67 98 56 A 22 29 62 A 11 99 28 B 37 88 14 B 33 99 65 我们有三行A和两行B File2在A和B之间包含3000行,我想从File2中随机选择行,但是A和B的数量与File1完全相同,这意味着只有3个随机行和2个随机行 有人知道如何使用awk来实现这一点吗 谢谢/bin/bash read-r acount bcount#/bin

我有两个表格文件,我想合并,但在此之前,我想减少第二个

第一个文件假设File1是表格式的,如下所示

 A 67 98 56
 A 22 29 62
 A 11 99 28
 B 37 88 14
 B 33 99 65
我们有三行A和两行B

File2在A和B之间包含3000行,我想从File2中随机选择行,但是A和B的数量与File1完全相同,这意味着只有3个随机行和2个随机行

有人知道如何使用awk来实现这一点吗

谢谢/bin/bash read-r acount bcount
#/bin/bash

read-r acount b count这可能适合您:

grep '^A' file2 | sort -R | head -$(grep -c '^A' file1) >file3
grep '^B' file2 | sort -R | head -$(grep -c '^B' file1) >>file3

注意:这假设文件1已排序。

这可能适用于您:

grep '^A' file2 | sort -R | head -$(grep -c '^A' file1) >file3
grep '^B' file2 | sort -R | head -$(grep -c '^B' file1) >>file3
注意:这假设
file1
已排序