-1

我有一个包含大量数据的数据文件,其中 90% 是我不需要的。这是它的一小部分。

0.0000  -1.042E-4
0.1000  -1.042E-4
0.2000  -1.042E-4
0.3000  -1.042E-4
0.4000  -1.042E-4
0.5000  -1.042E-4
0.6000  -1.042E-4
0.7000  -1.042E-4
0.8000  -1.042E-4
0.9000  -1.042E-4
1.0000  -1.042E-4
1.1000  -1.042E-4
1.2000  -1.042E-4
1.3000  -1.042E-4
1.4000  -1.042E-4
1.5000  -1.042E-4
1.6000  -1.042E-4
1.7000  -1.042E-4

它一直在继续。右手栏对我来说是最重要的。问题是我只需要左手整数的数据。因此,我想将上述内容简化为:

0.0000  -1.042E-4
1.0000  -1.042E-4
2.0000  -2.032E-4

基本上我要做的是删除所有不是整数的数据值,比如 1.2、1.3 等……这样的事情可能大规模吗?谢谢!我可以访问 UNIX 环境,但更喜欢 Windows 上的任何东西。

4

1 回答 1

1

这是一个需要访问 UNIX 环境的快速解决方案...

grep -E "^[0-9]+\.0" datafile.txt > decimated.txt

解释:

  • 这与扩展搜索grep
  • 一位或多位数字 [0-9]+
  • 在行首 ^
  • 后跟一个句点和一个零 \.0
  • 在文件中datafile.txt
  • 将这些行发送到一个调用的文件,decimated.txt而不是将它们打印到屏幕上。

如果需要,您可以修改搜索以在点之后包含所有四个零,或者在第一个数字之前考虑空格...

于 2013-10-20T08:26:26.470 回答