Ich benutze awk, um eine Datei zu teilen, wo ich drei durch Leerzeichen getrennte Splits habe: 1. Startpunkt; 2. Endpunkt; 3. EtikettLabel Timestamps nach Intervallen in Bash
Ich möchte neue Etiketten innerhalb definierter Rahmen erstellen, die ein if erfordert, wo ich ein wenig feststecke.
Ich suche etwas wie folgt aus:
num_intervals == (tail -1 | ending point)/250000
count == 1
interval == 2500000
current_interval_start == 0
current_interval_end == current_interval_start + interval
for interval in num_intervals
if starting_point >= current_interval_start and if ending_point <= current_interval_end then
print count + label
count == count + 1
current_interval_start == current_interval_end
current_interval_end == current_interval_start + interval
* Beobachtung, wenn zwei Etiketten im gleichen Intervallbereich sind, nehmen Sie die erste, aber ich könnte diesen Prozess stellen.
Meine Daten sieht wie folgt aus:
0 2300000 null
2300000 4300000 h
4300000 8000000 aa
8000000 11500000 t
11500000 28400001 null
Was ich als Ausgabe das wäre möchte:
0 2500000 null
2500000 5000000 h
5000000 7500000 aa
7500000 1000000 aa
1000000 1250000 t
1250000 1500000 null
1500000 1750000 null
1750000 2000000 null
2000000 2250000 null
2500000 2750000 null
2750000 3000000 null
Sie wollen um alle aktuellen Zahlen bis zur nächsten Zahl, die durch 2500000 teilbar ist, zu runden und dann jeden Bereich in Einheiten dieser Größe aufzuteilen? –