我的数据文件如下所示:
#cP2019 6 30 0 0 0.00000000 192 ORBIT IGS14 BHN ESOC
## 2060 0.00000000 900.00000000 58664 0.0000000000000
+ 54 G18G14G13G28G21G11G22G20G16G19G23G02G31G17G12G15G29
+ G07G05G25G01G30G24G27G06G09G03G26G08G10G32R10R12R13
+ R19R20R01R22R24R23R16R04R08R03R07R02R18R21R09R17R14
+ R11R05R15 0 0 0 0 0 0 0 0 0 0 0 0 0 0
+ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 7 4 4 5 5 4 5 5 5 4 4 5 4 4 5 4 5
++ 4 4 5 5 5 5 4 4 5 6 5 5 5 4 6 6 5
++ 6 6 6 5 5 6 6 5 5 6 5 6 5 5 5 5 6
++ 6 6 5 0 0 0 0 0 0 0 0 0 0 0 0 0 0
++ 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0
%c M cc GPS ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%c cc cc ccc ccc cccc cccc cccc cccc ccccc ccccc ccccc ccccc
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%f 0.0000000 0.000000000 0.00000000000 0.000000000000000
%i 0 0 0 0 0 0 0 0 0
%i 0 0 0 0 0 0 0 0 0
/* CCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCC
* 2019 6 30 0 0 0.00000000
....... data ......
....... data ......
....... data ......
* 2019 6 30 0 15 0.00000000
....... data ......
....... data ......
....... data ......
* 2019 6 30 0 30 0.00000000
....... data ......
....... data ......
....... data ......
and goes on like this ...
我需要为每个数据文件提取第一个和第二个日期之间的行。我可以应用以下代码来提取这些行,如下所示:
sed -n '/* 2019 6 30 0 0/,/* 2019 6 30 0 15 /p' esu20601_00.sp3 > extract_1
但是每个文件的数据日期和位置都不同。所以我需要为每个文件提取第一* 2019
和第二之间的行。* 2019
我怎样才能使用代码做到这一点?
毫无疑问可以更复杂,但使用原始的 python 工具:
findsection.py
通过以下方式运行它:
输出(来自第一部分):
当然,您可以让它从整个目录中收集数据,写入新文件等,等等。