我想用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