Sponsored Content
Top Forums Shell Programming and Scripting Perl sort unique by one field only Post 302299488 by radoulov on Friday 20th of March 2009 08:24:24 AM
Old 03-20-2009
Code:
#!/usr/bin/perl

use warnings; 
use strict;

my %H;

  while (<DATA>) {
    my @F = split ',';
    print unless $H{$F[0]}++;
}

__DATA__
1,test,34
1,test2,65
2,test,35,
1,test3,34
2,test,34

Which outputs:

Code:
% ./s
1,test,34
2,test,35,

On the command line you could use something like this:

Code:
% perl -F, -lane'print unless $_{$F[0]}++' infile 
1,test,34
2,test,35,

With awk it's just:

Code:
% awk -F, '!_[$1]++' infile
1,test,34
2,test,35,

On Solaris you should use nawk, /usr/xpg4/bin/awk or gawk.
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Sort and Unique in Perl

Hi, May I know, if a pipe separated File is large, what is the best method to calculate the unique row count of 3rd column and get a list of unique value of the 3rdcolum? Thanks in advance! (20 Replies)
Discussion started by: deepakwins
20 Replies

2. Shell Programming and Scripting

Sort alpha on 1st field, numerical on 2nd field (sci notation)

I want to sort alphabetically on the first field and sort in descending numerical order on the 2nd field. With a normal "sort -r -n" it does this: abc ||| 5e-05 ||| bla abc ||| 3 ||| ble def ||| 1 ||| abc def ||| 0.2 ||| def As you can see it ignores the fact that 5e-05 is actually 0.00005... (1 Reply)
Discussion started by: FrancoisCN
1 Replies

3. Shell Programming and Scripting

perl sort array by field

Hi Everyone, Any simple code can simplify the code below, please advice. Thanks # cat 2.pl #!/usr/bin/perl use warnings; use strict; my @aaaaa = <DATA>; my @uids; foreach (@aaaaa) { my @ccccc = split (",", $_); push @uids, $ccccc;... (3 Replies)
Discussion started by: jimmy_y
3 Replies

4. Shell Programming and Scripting

Perl script to sort data on second numeric field

Hi, I'm a learner of PERL programming. I've a input file with the below data: SWAT_5, 1703, 2010-09-21 SWAT_6, 2345, 2010-09-21 SWAT_7, 1792, 2010-09-21 SWAT_8, 1662, 2010-09-21 SWAT_9, 1888, 2010-09-21 VXHARP_1, 171, 2010-09-21 I need to sort this data based on the second... (6 Replies)
Discussion started by: ganapati
6 Replies

5. Shell Programming and Scripting

Awk sort and unique

Input file --------- 12:name1:|host1|host1|host2|host1 13:name2:|host1|host1|host2|host3 14:name3: ...... Required output --------------- 12:name1:host1(2)|host1(1) 13:name2:host1(2)|host2(1)|host3(1) 14:name3: where (x) - Count how many times field appears in last column ... (3 Replies)
Discussion started by: greycells
3 Replies

6. Shell Programming and Scripting

Unique sort with two fields

I have a file with contents below 123,502 123,506 123,702 234,101 235,104 456,104 456,100 i want to sort such that i get a unique value in column A, and for those with multiple value in A, i want the lowest value in B. output should be 123,502 234,101 235,104 456,100 (3 Replies)
Discussion started by: dealerso
3 Replies

7. Shell Programming and Scripting

Unique sort with three fields

I have another file with three columns A,B,C as below 123,1,502 123,2,506 123,3,702 234,4,101 235,5,104 456,6,104 456,7,100 i want to sort such that i get a unique value in column A, and for those with multiple value in A, i want the lowest value in C. output should be Code:... (3 Replies)
Discussion started by: dealerso
3 Replies

8. Shell Programming and Scripting

Unique Field

I have this input file tilenet_test:clar_r5_performance:server_2:4.80762:0%:APM00083103999-009E,APM00083103999-009F tilenet_int:clar_r5_performance:server_2:4.80762:0%:APM00083103999-00C4... (3 Replies)
Discussion started by: greycells
3 Replies

9. UNIX for Dummies Questions & Answers

Print unique lines without sort or unique

I would like to print unique lines without sort or unique. Unfortunately the server I am working on does not have sort or unique. I have not been able to contact the administrator of the server to ask him to add it for several weeks. (7 Replies)
Discussion started by: cokedude
7 Replies

10. Shell Programming and Scripting

Sort unique

Hi, I have an input file that I have sorted in a previous stage by $1 and $4. I now need something that will take the first record from each group of data based on the key being $1 Input file 1000AAA|"ZZZ"|"Date"|"1"|"Y"|"ABC"|""|AA 1000AAA|"ZZZ"|"Date"|"2"|"Y"|"ABC"|""|AA... (2 Replies)
Discussion started by: Ads89
2 Replies
sortm(1)						      General Commands Manual							  sortm(1)

NAME
sortm - sort messages (only available within the message handling system, mh) SYNOPSIS
sortm [msgs] [+folder] [options] OPTIONS
Specifies the name of the header field to use when making the date comparison. If you have a special field in each message, such as Deliv- ery-Date:, then the -datefield switch can be used to tell sortm which field to examine. If you do not give this option, the default is to use the Date: header field. Prints a list of all the valid options to this command. Displays the general actions that it is taking to place the folder in sorted order. The -noverbose option performs these actions silently. The default is -noverbose. The default settings for this command are: +folder defaults to the current folder msgs defaults to all -datefield date -noverbose DESCRIPTION
The command sortm sorts all the messages in the current folder into chronological order according to the contents of the Date: fields of the messages. By default, sortm sorts all the messages in the current folder. You can select particular messages in the folder by giving a range of mes- sages. You can also sort messages in another folder by specifying the folder name. If sortm encounters a message without a Date: field, or if the message has a Date: field that sortm cannot parse, it attempts to keep the message in the same relative position. However, this does not always work; for instance, if the first message encountered lacks a date which can be parsed, then it will usually be placed at the end of the messages being sorted. When sortm complains about a message which it cannot order, it complains about the message number prior to sorting. PROFILE COMPONENTS
Path: To determine your MH directory EXAMPLES
The following example sorts all the messages in the folder +meetings: % sortm +meetings The next example sorts messages 10-30 in the folder called +test: % sortm +test 10-30 FILES
The user profile. SEE ALSO
folder(1) sortm(1)
All times are GMT -4. The time now is 12:39 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy