Dosyayı düzenlemek.

Başlatan nevres, 30 Temmuz 2018 - 17:05:38

« önceki - sonraki »

0 Üyeler ve 1 Ziyaretçi konuyu incelemekte.

nevres

Merhaba.

İki satır aralığını sed komutuyla dosyaya yazdırabildim ancak bu komutu ondalıklı değer ile başlayan satırlar için uygulayamadım.

Dosya örneği: ftp://cddis.gsfc.nasa.gov/gnss/products/ionex/2015/045/codg0450.15i.Z (ftp://cddis.gsfc.nasa.gov/gnss/products/ionex/2015/045/codg0450.15i.Z)

Sırasıyla:

1 ) START OF TEC MAP ile  END OF TEC MAP arasını bulup dosyaya yazdırmak.
sed -ni '/START OF TEC MAP/, /END OF TEC MAP/p'

2) EPOCH OF CURRENT MAP bulunan satırlar yazdırmak.

3) 45.0-180.0 180.0   5.0 450.0                            LAT/LON1/LON2/DLON/H ile
   27.5-180.0 180.0   5.0 450.0                            LAT/LON1/LON2/DLON/H arasındaki dosyaları bu işlem ile yapamadım.

2. ve 3. aşamayı bir türlü yapamadım.

awk veya grep komutu ile mi yapmam gerekiyordu ?

Yardımcı olursanız sevinirim.


mhmtkrktr

#1
2)
grep 'EPOCH OF CURRENT MAP' /kaynak_dosya > /hedef_dosya

3)
Bunu "1" ile aynı yöntemle çözebileceğin gibi awk ve grep ile de yapılabilir. Fakat farkettiysen senin örnek dosya içinde aynı koşulu birebir karşılayan, herbiri 100/2=50 tane satır var.
var1='45.0-180.0 180.0'   # 5.0 450.0                            LAT/LON1/LON2/DLON/H
var2='27.5-180.0 180.0' #   5.0 450.0                            LAT/LON1/LON2/DLON/H

cat -n /kaynak_dosya | grep "$var1" # |wc -l
cat -n /kaynak_dosya | grep "$var2" # |wc -l


Tam olarak ne amacın olduğunu bilmediğim için net yorum yapamam ancak bu aralıkta kalan her bölümü ayrı bir dosyaya yazma vb bir amacın varsa, bunu while gibi bir döngüyle yapabilirsin.