ocehb: (Default)
[personal profile] ocehb
Имеется файл, каждая строка которого содержит два значения, разделённых табуляцией: время в формате unix_timestamp и IP-адрес (в формате aaa.bbb.ccc.ddd). Требуется для каждого встречающегося в файле IP-адреса выделить запись, которой соответствует первое и последнее посещение.

Примечание: файл не упорядочен ни по времени, ни по IP-адресам.



open F,"sort -n file |" or die $!;

my %hash;
while (<F>) {
    chomp;
    my ($time,$ip) = split "\\s+";
    $hash{$ip}->[exists $hash{$ip}->[0]] = $time;
}

while (my ($ip,$ref) = each %hash) {
    printf "%s: %d - %d\n",$ip,@{$ref};
}


PS. Ну и как делал файл:

zsh# ee=(10.20.66.1 10.20.66.10 10.20.66.40 192.168.1.10)
zsh# for i in {1..1024}; do print "$RANDOM  ${ee[$[$RANDOM%4+1]]}"; done > time.ip
zsh# perl -l script.pl time.ip
10.20.66.1: 85 - 32705
10.20.66.40: 172 - 32434
192.168.1.10: 45 - 32715
10.20.66.10: 96 - 32616
zsh#

Date: 2006-07-13 09:55 am (UTC)
From: [identity profile] jerom.livejournal.com
perl -l "@m=<>;%h=map{/\t(.+)/;$1 => 1}@m;for$;(keys%h){@x=sort map {/^(\d+)\t$;/}@m;print"$;:$x[0] $x[$#x]";}" infile

Date: 2006-07-13 09:56 am (UTC)
From: [identity profile] jerom.livejournal.com
Ой, с кавычками ошибся, там perl -l '...' infile

Date: 2006-07-13 09:56 am (UTC)
From: [identity profile] jerom.livejournal.com
и -e забыл :-)

Date: 2006-07-13 09:58 am (UTC)
From: [identity profile] jerom.livejournal.com
В общем, не возьмут меня...

Date: 2006-07-28 02:30 pm (UTC)
From: [identity profile] ex-svpv.livejournal.com
Зачем опять огород городить?
sort -k1n |sort -u -k2 -- первое посещение
sort -k1rn |sort -u -k2 -- последнее посещение

Date: 2006-07-29 08:41 pm (UTC)
From: [identity profile] ex-svpv.livejournal.com
Слить можно с помощью paste(1).

Date: 2009-02-10 04:58 am (UTC)
From: [identity profile] afina09i.livejournal.com
Здравствуйте! Подскажите мне, если подключаться к сети через прокси сервер, то никто узнать ip (http://proverim.net/ipinfo.php) моего компьютера не сможет?

P.S. Благодарю за внимание.

Profile

ocehb: (Default)
ocehb

January 2021

S M T W T F S
     12
345 6789
10111213141516
17181920212223
24252627282930
31      

Most Popular Tags

Style Credit

Expand Cut Tags

No cut tags
Page generated Feb. 6th, 2026 01:03 am
Powered by Dreamwidth Studios