다음 파일을 고려하십시오.
0,2,,,10
0,2,,,15
0,1,,,984
0,2,,,9
1,14,,,5
를 사용하여 각 의 총 가치를 awk
계산해야 합니다 .$5
$2
원하는 출력은 다음과 같습니다.
2,34
1,984
14,5
답변1
노력하다:
awk -F, '{a[$2]+=$5};END{for(i in a)print i","a[i]}' <file
알아두어야 할 것은POSIX awk의 배열 탐색 순서가 지정되지 않았습니다..
답변2
답변3
나는 Perl을 사용하고 싶습니다.
#!/usr/bin/env perl
use strict;
use warnings;
my %things;
while (<>) {
my ( undef, $key, @rest ) = split(/,/);
$things{$key} += pop(@rest);
}
foreach my $key ( sort { $a <=> $b } keys %things ) {
print "$key = $things{$key}\n";
}
필요한 경우 이를 한 줄로 압축할 수 있습니다.