【发布时间】:2016-08-25 21:15:35
【问题描述】:
我有一个大文件 results.txt,我想从中取出某些行并将它们放入另一个文件中。我要取出的数据是一些变量,欧米茄和阿尔法。但是对于results.txt,results.txt中的每组数据都有两次出现omega和alpha,我只想要第二组数据。我不确定如何进行。我知道我应该使用 SED,但我不知道如何使用,因为我只找到了有关使用 sed 替换行的帮助。任何帮助,将不胜感激。非常感谢。
#
--- 抱歉,当我问这个问题时,我正在使用手机。不知道如何插入代码。 ---
所以我的文件看起来像
Very big list of useless output
.
.
.
Results 1:
Omega = 121
Distance = 18.7037218936
Alpha = -1.05958217593e-05
Result 5 = 18983
Result 6 = 1231.903
-------------------------
Results 1:
Omega = 121
Distance = 18.7037218936
Alpha = -1.05958217593e-05
Result 5 = 18983
Result 6 = 1231.903
-------------------------
Second useless output for the next data set
.
.
.
下一个数据集在两组结果之后开始。我有 600 个数据集。我想将每个数据集的第二组结果中的 Omega 和 Alpha 打印到其他文件中,最好是在两列中,我不知道这是否可能。
我尝试过使用 sed,但我发现的文档只讨论了替换我搜索的单词。感谢您的帮助!
【问题讨论】:
-
(1) 显示一小段样本输入和相应的所需输出。如果有任何对您很重要的特殊情况,请确保样本输入包括它们。 (2) 显示一些您尝试过的代码。如果没有任何代码,人们可能会认为您将 SO 视为一种代码编写服务。
-
wrt
I know I should use SED- 不,您可能不应该这样做。 sed 用于在单个行上进行简单替换,仅此而已。用于任何其他文本处理的标准 UNIX 工具是 awk,因此您应该使用它。在您提供 minimal reproducible example 之前,我们不会知道,但包括简洁、可测试的样本输入和预期输出。