Если в столбцах нет пробелов, будет полезен параметр Perl '-a
' (perldoc perlrun
). Он автоматически разбивает входные данные в массиве @F
в сочетании с -n
или -p
.
Учитывая начальную метку времени (время Unix), достаточно легко заменить либо столбец 6, либо 7 (или оба) на час / день, относящийся к метке времени начала. Вопрос в том, «что вы хотели в начале строки»?
#!/usr/bin/perl -pa
use strict;
use warnings;
my $start = 1290895200;
my $t6_hh = int(($F[5] - $start) / 3600);
my $t6_dd = int($t6_hh / 24) + 1;
$t6_hh = int($t6_hh % 24);
my $t7_hh = int(($F[6] - $start) / 3600);
my $t7_dd = int($t7_hh / 24) + 1;
$t7_hh = int($t7_hh % 24);
printf "%2d/%d - %2d/%d ", $t6_hh, $t6_dd, $t7_hh, $t7_dd;
# Perl prints the input line after this because of the -p option
Использование этой программы awk
для генерации некоторых данных:
awk 'BEGIN{
for (i = 1290895200; i < 1291154400; i += 3200)
{
j = i + rand() * (1291154400 - i);
k = i + 60 * rand();
printf "C1 C2 C2 C4 C5 %d %d C8 C9\n", k, j;
}
}'
Приведенный выше скрипт Perl сгенерировал следующий вывод. Столбец 6 содержит время в заданном вами диапазоне отметок времени, которое увеличивается каждые 3200 секунд и случайно изменяется на 60 секунд. Столбец 7 содержит случайное время в диапазоне между значением в столбце 6 и временем окончания. Вывод префикса с двумя значениями часа / дня, один для столбца 6, один для столбца 7. Повторите форматирование в соответствии с вашим сердцем.
0/1 - 0/1 C1 C2 C2 C4 C5 1290895207 1290895202 C8 C9
0/1 - 6/3 C1 C2 C2 C4 C5 1290898427 1291091834 C8 C9
1/1 - 15/2 C1 C2 C2 C4 C5 1290901613 1291036283 C8 C9
2/1 - 5/1 C1 C2 C2 C4 C5 1290904840 1290916542 C8 C9
3/1 - 2/3 C1 C2 C2 C4 C5 1290908056 1291075378 C8 C9
4/1 - 6/2 C1 C2 C2 C4 C5 1290911231 1291004467 C8 C9
5/1 - 12/3 C1 C2 C2 C4 C5 1290914402 1291113831 C8 C9
6/1 - 9/1 C1 C2 C2 C4 C5 1290917631 1290930259 C8 C9
7/1 - 2/3 C1 C2 C2 C4 C5 1290920800 1291077580 C8 C9
8/1 - 8/2 C1 C2 C2 C4 C5 1290924004 1291012338 C8 C9
8/1 - 11/2 C1 C2 C2 C4 C5 1290927241 1291022052 C8 C9
9/1 - 22/2 C1 C2 C2 C4 C5 1290930455 1291062330 C8 C9
10/1 - 14/3 C1 C2 C2 C4 C5 1290933631 1291120433 C8 C9
11/1 - 17/1 C1 C2 C2 C4 C5 1290936839 1290956811 C8 C9
12/1 - 13/2 C1 C2 C2 C4 C5 1290940042 1291029190 C8 C9
13/1 - 18/3 C1 C2 C2 C4 C5 1290943245 1291135459 C8 C9
14/1 - 5/2 C1 C2 C2 C4 C5 1290946402 1291000990 C8 C9
15/1 - 8/3 C1 C2 C2 C4 C5 1290949619 1291100349 C8 C9
16/1 - 3/3 C1 C2 C2 C4 C5 1290952845 1291080339 C8 C9
16/1 - 23/3 C1 C2 C2 C4 C5 1290956021 1291152621 C8 C9
17/1 - 7/2 C1 C2 C2 C4 C5 1290959258 1291007421 C8 C9
18/1 - 9/3 C1 C2 C2 C4 C5 1290962445 1291101150 C8 C9
19/1 - 5/3 C1 C2 C2 C4 C5 1290965604 1291088606 C8 C9
20/1 - 5/3 C1 C2 C2 C4 C5 1290968853 1291086031 C8 C9
21/1 - 11/2 C1 C2 C2 C4 C5 1290972026 1291021742 C8 C9
22/1 - 12/3 C1 C2 C2 C4 C5 1290975228 1291112555 C8 C9
23/1 - 10/2 C1 C2 C2 C4 C5 1290978416 1291020248 C8 C9
0/2 - 17/2 C1 C2 C2 C4 C5 1290981609 1291043680 C8 C9
0/2 - 23/2 C1 C2 C2 C4 C5 1290984853 1291067313 C8 C9
1/2 - 19/3 C1 C2 C2 C4 C5 1290988003 1291139292 C8 C9
2/2 - 19/3 C1 C2 C2 C4 C5 1290991230 1291138839 C8 C9
3/2 - 2/3 C1 C2 C2 C4 C5 1290994419 1291077006 C8 C9
4/2 - 23/3 C1 C2 C2 C4 C5 1290997629 1291152305 C8 C9
5/2 - 16/2 C1 C2 C2 C4 C5 1291000805 1291041679 C8 C9
6/2 - 21/3 C1 C2 C2 C4 C5 1291004004 1291146543 C8 C9
7/2 - 3/3 C1 C2 C2 C4 C5 1291007223 1291080904 C8 C9
8/2 - 19/2 C1 C2 C2 C4 C5 1291010454 1291050299 C8 C9
8/2 - 5/3 C1 C2 C2 C4 C5 1291013627 1291088188 C8 C9
9/2 - 21/3 C1 C2 C2 C4 C5 1291016803 1291146278 C8 C9
10/2 - 15/3 C1 C2 C2 C4 C5 1291020046 1291122347 C8 C9
11/2 - 17/3 C1 C2 C2 C4 C5 1291023207 1291131809 C8 C9
12/2 - 13/2 C1 C2 C2 C4 C5 1291026441 1291028431 C8 C9
13/2 - 19/3 C1 C2 C2 C4 C5 1291029637 1291137957 C8 C9
14/2 - 15/3 C1 C2 C2 C4 C5 1291032843 1291122324 C8 C9
15/2 - 23/3 C1 C2 C2 C4 C5 1291036053 1291154335 C8 C9
16/2 - 23/2 C1 C2 C2 C4 C5 1291039218 1291066064 C8 C9
16/2 - 3/3 C1 C2 C2 C4 C5 1291042430 1291081713 C8 C9
17/2 - 11/3 C1 C2 C2 C4 C5 1291045650 1291109913 C8 C9
18/2 - 6/3 C1 C2 C2 C4 C5 1291048850 1291092315 C8 C9
19/2 - 3/3 C1 C2 C2 C4 C5 1291052024 1291079578 C8 C9
20/2 - 11/3 C1 C2 C2 C4 C5 1291055228 1291108500 C8 C9
21/2 - 4/3 C1 C2 C2 C4 C5 1291058410 1291085972 C8 C9
22/2 - 2/3 C1 C2 C2 C4 C5 1291061634 1291075865 C8 C9
23/2 - 19/3 C1 C2 C2 C4 C5 1291064801 1291136695 C8 C9
0/3 - 12/3 C1 C2 C2 C4 C5 1291068029 1291114176 C8 C9
0/3 - 22/3 C1 C2 C2 C4 C5 1291071244 1291150686 C8 C9
1/3 - 14/3 C1 C2 C2 C4 C5 1291074453 1291118766 C8 C9
2/3 - 15/3 C1 C2 C2 C4 C5 1291077650 1291125588 C8 C9
3/3 - 6/3 C1 C2 C2 C4 C5 1291080812 1291092558 C8 C9
4/3 - 18/3 C1 C2 C2 C4 C5 1291084007 1291134315 C8 C9
5/3 - 7/3 C1 C2 C2 C4 C5 1291087216 1291093314 C8 C9
6/3 - 6/3 C1 C2 C2 C4 C5 1291090424 1291090591 C8 C9
7/3 - 7/3 C1 C2 C2 C4 C5 1291093642 1291095234 C8 C9
8/3 - 23/3 C1 C2 C2 C4 C5 1291096814 1291150822 C8 C9
8/3 - 11/3 C1 C2 C2 C4 C5 1291100019 1291109840 C8 C9
9/3 - 22/3 C1 C2 C2 C4 C5 1291103239 1291148613 C8 C9
10/3 - 12/3 C1 C2 C2 C4 C5 1291106440 1291113616 C8 C9
11/3 - 16/3 C1 C2 C2 C4 C5 1291109623 1291126884 C8 C9
12/3 - 18/3 C1 C2 C2 C4 C5 1291112808 1291133589 C8 C9
13/3 - 19/3 C1 C2 C2 C4 C5 1291116050 1291138547 C8 C9
14/3 - 19/3 C1 C2 C2 C4 C5 1291119257 1291139971 C8 C9
15/3 - 20/3 C1 C2 C2 C4 C5 1291122408 1291140196 C8 C9
16/3 - 23/3 C1 C2 C2 C4 C5 1291125624 1291153919 C8 C9
16/3 - 17/3 C1 C2 C2 C4 C5 1291128833 1291132430 C8 C9
17/3 - 19/3 C1 C2 C2 C4 C5 1291132029 1291137647 C8 C9
18/3 - 21/3 C1 C2 C2 C4 C5 1291135257 1291144109 C8 C9
19/3 - 20/3 C1 C2 C2 C4 C5 1291138411 1291140416 C8 C9
20/3 - 21/3 C1 C2 C2 C4 C5 1291141637 1291145686 C8 C9
21/3 - 21/3 C1 C2 C2 C4 C5 1291144839 1291146016 C8 C9
22/3 - 23/3 C1 C2 C2 C4 C5 1291148048 1291151978 C8 C9
23/3 - 23/3 C1 C2 C2 C4 C5 1291151228 1291151993 C8 C9