【发布时间】:2012-06-24 17:16:17
【问题描述】:
我有三个不同的文件,其中包含数字列。这些文件非常大(其中有 50,000,000+ 行)
例如,数据格式是这样的
1.2 22.333 10002.3432 223.2111
50.2166 2.873 15402.3432 322.1
.
.
.
对于每个文件(file1、file2 和 file3),我需要执行以下操作:
文件1 查找包含任意数字 x
文件2 找到包含任何数字 x >=1800 的行并从 file2 中删除这些行
文件3 找到包含任意数字 1000
我对 REGEX 的了解不足以弄清楚如何快速实现这一点。非常感谢任何帮助。
【问题讨论】:
-
比较数字通常不是正则表达式的任务。
-
sed 和正则表达式可能无济于事,因为它们不懂数字。 awk 可能会这样做,但我会推荐 perl 来完成这项任务。
-
+1 感谢大家这么快就打败了我……伙计,在这里很难回答新问题。大声笑
-
您真的是要从所有文件中删除 x == 1800 或 x == 1000 吗?或者你说的是
<=,而你真正的意思是<?例如。如果 x = 1000,那么它是 = 1000。