У меня есть похожая эта ситуация как конкретные различия Вот почему я могу применить ответ @ Алекса Харви, внеся небольшое изменение в его код, но я не сделал то, что хочу.
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. Файл примера
2. Файл примера
Часть вывода в следующем виде:
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 соответственно
- 1-е значение (25 ° долготы)
- 2-е значение (30 ° долгота)
- 3-е значение (35 ° долгота)
- 4-е значение (40 ° долгота)
- 5-е значение (45 ° долгота)
Все значения долготы * 0,1