我有一个txt文件,它是一台机器的输出,带有一堆写/数据/段落,不用于图形目的,但是在文件中间的某处我有我需要绘制的实际数据。我需要在文件中搜索数据,然后将数据打印到txt文件,以便稍后进行绘图。
文件中间的数据看起来像这样(每个数据文件可能有不同的行数/列数,而数字用空格分隔):
<> 1 2 3 4 5 6 etc.
A 1.2 1.3 1.4 etc.
B 0.2 0.3 0.4 etc.
C 2.2 2.3 2.4 etc.
etc.
到目前为止,我的想法是向&#39;&lt;&gt;&#39;找到第一行(grep&#39; ^&lt;&gt;&#39;文件),但我不确定在尝试查找它们时如何考虑可变数量的行/列。另外,我使用awk循环遍历目录中的所有.txt文件并打印到新的outfile,这样我就可以同时执行多个文件(所以也许我可以在awk中进行搜索/打印?)。
编辑:
- 输入/预期输出文件 -
输入文件
This is the data
Here are some paragraphs
<> 1 2 3
A 1.2 1.3 1.4
B 0.2 0.3 0.4
C 2.2 2.3 2.4
more paragraphs
more paragraphs
输出文件:
<> 1 2 3
A 1.2 1.3 1.4
B 0.2 0.3 0.4
C 2.2 2.3 2.4
使用awk对目录中的多个txt文件执行此操作。
答案 0 :(得分:0)
这是awk中的一个。它在记录中查找<>
或十进制数([0-9]+\.[0-9]+
)。如果这还不够,也许您可以尝试扩展该十进制数测试部分以测试3个数字,例如:(/ [0-9]+\.[0-9]+){3}/
$ awk '/<>/||/[0-9]+\.[0-9]+/' foo
<> 1 2 3
A 1.2 1.3 1.4
B 0.2 0.3 0.4
C 2.2 2.3 2.4