我想用awk/python比较大文件(〜1GB)中的连续行(因为我使用大文件,所以我宁愿使用awk)命令。下面是输入和输出的一个例子:比较awk /(或python)中的连续行并随机选择一个重复行
输入文件
#x y
1 11 # Remarks (not part of the input file)
10 12 # (Remark *1)
10 17 #
4 14
20 15 # (Remark *2)
20 16 #
20 17 #
20 22 #
5 19
10 20
(备注* 1):由于该行和连续列/行的x值的x值是相同的,应该在输出文件中打印该行或下一行(RANDOM选择)
(备注* 2):由于此行的x值和接下来3行的x值相同,因此此行行或接下来的3行中的一行(RANDOM选择)应打印在输出文件中
我想有输出文件是这样的:
#x y
1 11
10 17
4 14
20 17
5 19
10 20
或(因为随机选择,如果相同的x值出现在连续的行)
#x y
1 11
10 12
4 14
20 16
5 19
10 20
基本上我想如果X-比较当前行/行的值与下一个连续行/行的x值相同。 如果不是,则应打印当前行。 如果是,只有一个随机行应选择具有相同x值的连续行/行(y值对比较不重要)。
我希望有人能帮助我!
看起来像油藏采样的应用。 –
是的,感谢您的关键字!由于我是awk新手,我希望获得更多帮助。 – AwkUser