我与that situation类似,但有一些区别。这就是为什么我可以通过稍微更改一下代码来应用@Alex Harvey的答案,但我没有满足我的要求的原因。
for f in *.Z ; do
gunzip $f
codg=${f%.Z}
awk '
/(START|END|EPOCH) OF (TEC|CURRENT) MAP/
$1 == "45.0-180.0" {p=1}
$1 == "32.5-180.0" {p=0}
p && $0 ~ "LAT/LON1/LON2/DLON/H" {
print; getline; getline
print $(NF-4)" "$(NF-3)" "$(NF-2)" "$(NF-1)" "$NF
}
' < $codg > $codg.edited
done
部分输出如下:
1 START OF TEC MAP
1998 6 1 1 0 0 EPOCH OF CURRENT MAP
45.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
92 85 80 77 76
42.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
93 86 82 80 81
40.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
96 89 86 85 88
37.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
101 95 92 93 96
35.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
107 102 100 101 105
1 END OF TEC MAP
2 START OF TEC MAP
1998 6 1 3 0 0 EPOCH OF CURRENT MAP
45.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
67 65 63 61 60
42.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
71 69 68 67 67
40.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
78 76 75 75 76
37.5-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
85 84 83 84 86
35.0-180.0 180.0 5.0 450.0 LAT/LON1/LON2/DLON/H
93 92 92 92 94
但是我想将其写成如下格式:
01-06-1998 01:00:00 35 25 10.7
01-06-1998 01:00:00 35 30 10.2
01-06-1998 01:00:00 35 35 10
01-06-1998 01:00:00 35 40 10.1
01-06-1998 01:00:00 35 45 10.5
01-06-1998 01:00:00 37.5 25 10.1
01-06-1998 01:00:00 37.5 30 9.5
01-06-1998 01:00:00 37.5 35 9.2
01-06-1998 01:00:00 37.5 40 9.3
01-06-1998 01:00:00 37.5 45 9.6
01-06-1998 01:00:00 40 25 9.6
01-06-1998 01:00:00 40 30 8.9
01-06-1998 01:00:00 40 35 8.6
01-06-1998 01:00:00 40 40 8.5
01-06-1998 01:00:00 40 45 8.8
01-06-1998 01:00:00 42.5 25 9.3
01-06-1998 01:00:00 42.5 30 8.6
01-06-1998 01:00:00 42.5 35 8.2
01-06-1998 01:00:00 42.5 40 8
01-06-1998 01:00:00 42.5 45 8.1
01-06-1998 01:00:00 45 25 9.3
01-06-1998 01:00:00 45 30 8.6
01-06-1998 01:00:00 45 35 8.2
01-06-1998 01:00:00 45 40 8
01-06-1998 01:00:00 45 45 8.1
01-06-1998 03:00:00 35 25 9.3
01-06-1998 03:00:00 35 30 9.2
01-06-1998 03:00:00 35 35 9.2
01-06-1998 03:00:00 35 40 9.2
01-06-1998 03:00:00 35 45 9.4
01-06-1998 03:00:00 37.5 25 8.5
01-06-1998 03:00:00 37.5 30 8.4
01-06-1998 03:00:00 37.5 35 8.3
01-06-1998 03:00:00 37.5 40 8.4
01-06-1998 03:00:00 37.5 45 8.6
01-06-1998 03:00:00 40 25 7.8
01-06-1998 03:00:00 40 30 7.6
01-06-1998 03:00:00 40 35 7.5
01-06-1998 03:00:00 40 40 7.5
01-06-1998 03:00:00 40 45 7.6
01-06-1998 03:00:00 42.5 25 7.1
01-06-1998 03:00:00 42.5 30 6.9
01-06-1998 03:00:00 42.5 35 6.8
01-06-1998 03:00:00 42.5 40 6.7
01-06-1998 03:00:00 42.5 45 6.7
01-06-1998 03:00:00 45 25 7.1
01-06-1998 03:00:00 45 30 6.9
01-06-1998 03:00:00 45 35 6.8
01-06-1998 03:00:00 45 40 6.7
01-06-1998 03:00:00 45 45 6.7
假设我有两个文件,想将整个数据写到一个文本文件中。
LAT / LON1 / LON2 / DLON / H 的标签的第一个浮点值是纬度值。
LAT / LON1 / LON2 / DLON / H 的子标签数据分别为
所有经度值* 0.1