Как записать все данные из нескольких файлов в текстовый файл? - PullRequest
0 голосов
/ 07 июля 2019

У меня есть похожая эта ситуация как конкретные различия Вот почему я могу применить ответ @ Алекса Харви, внеся небольшое изменение в его код, но я не сделал то, что хочу.

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

...