08-07-2016
Filter Row Based On Max Column Value After Group BY
Hello Team,
Need your expertise on following:
Here is the set of data:
HTML Code:
C1|4|C1SP1|A1|C1BP1|T1
C1|4|C1SP2|A1|C1BP2|T2
C2|3|C2SP1|A2|C2BP1|T2
C3|3|C3SP1|A3|C3BP1|T2
C2|2|C2SP2|A2|C2BP2|T1
I need to filter above date base on following two steps:
1. Group them by column 1 and 4
2. Once grouped, print the row where column 6 is maxium
For example:
In column 1 we have C1, C2 and C3. There are two rows where column 1 = C1 and column 4 = A1.
Out of above two columns , second row should be printed because Column 6 has greater value T2.
Following will be the output:
HTML Code:
C1|4|C1SP2|A1|C1BP2|T2
C2|3|C2SP1|A2|C2BP1|T2
C3|3|C3SP1|A3|C3BP1|T2
Note - 1 < 2 which meams T1 < T2 and so on.
Thanks
Angsuman
Last edited by angshuman; 08-07-2016 at 10:27 AM..
Reason: Typo
10 More Discussions You Might Find Interesting
1. Shell Programming and Scripting
I have a file with colon separated values.. the sample is attached below.
No of fields in each record/line is dependent on the value of field53.
What I need to do is to design a special filter based on specific requirement of some match of values in particular column or combination of columns.
... (2 Replies)
Discussion started by: rraajjiibb
2 Replies
2. Shell Programming and Scripting
I want to accomplish this in sh, however if the capability exists only in other shells elsewhere that's acceptable.
% df -kh
Filesystem size used avail capacity Mounted on
...
/dev/dsk/c0t0d0s1 103G 102G 23M 100% /export/DISK15
...
# output... (5 Replies)
Discussion started by: ProGrammar
5 Replies
3. Shell Programming and Scripting
Hi,
I am new to unix shell shell scripting. I have a specific requirement where I need to append comma's based on the max number of column in the file.
Eg:
If my source file look something like this,
sengwa,china
tom,america,northamerica
smith,america
walter
My output file... (8 Replies)
Discussion started by: nicholas_ejn
8 Replies
4. Shell Programming and Scripting
I need to get the output in row wise for the repeated column data
Ex:
Input:
que = five
ans = 5
que = six
ans = 6
Required output:
que = five six
ans = 5 6
Any body can guide me?"""""" (2 Replies)
Discussion started by: vasanth_vadalur
2 Replies
5. Shell Programming and Scripting
Hi all
This is my output of the some SQL Query
TABLESPACE_NAME FILE_NAME TOTALSPACE FREESPACE USEDSPACE Free
------------------------- ------------------------------------------------------- ---------- --------- ---------... (2 Replies)
Discussion started by: jhon
2 Replies
6. Shell Programming and Scripting
Hello Experts,
I am new in scripting. I would like to filter and migrate data from row to column by awk. Thanks in advance.
For example
FileA
abc
1
2
3
Xyz3
4
1
5
bcd1
Output :
Abc 1 2 3
Xyz3 4 1 5
bcd1 3 5 6 (5 Replies)
Discussion started by: shah09
5 Replies
7. Shell Programming and Scripting
Hello,
BC106081_abc_128240811_128241377 7.96301
BC106081_abc_128240811_128241377 39.322
BC106081_cde_128240811_128241377 1.98628
BC106081_def_128240811_128241377 -2.44492
BC106081_abc_128240811_128241377 69.5504
FLJ00075_xyz_14406_16765 -0.173417
... (3 Replies)
Discussion started by: Diya123
3 Replies
8. Shell Programming and Scripting
Hi,
I have a requirement to display/write the 3rd column from a file based on the value in the column 3.
Ex: Data in the File (comma delimited)
ID,Value,Description
1,A,Active
1,I,Inactive
2,S,Started
1,N,None
2,C,Completed
2,F,Failed
I need to first get a list of all Unique IDs in... (7 Replies)
Discussion started by: kiranredz
7 Replies
9. Shell Programming and Scripting
Hello
I have a tab text file with many columns and have to filter rows ONLY if column 22 has the value of '0', '1', '2' or '3' (out of 0-5).
If Column 22 has value '0','1', '2' or '3' (highlighted below), then remove anything less than 10 and greater 100 (based on column 5) AND remove anything... (1 Reply)
Discussion started by: nans
1 Replies
10. UNIX for Beginners Questions & Answers
Hello,
I have this table:
chr1_16857_17742 - chr1 17369 17436 "ENST00000619216.1"; "MIR6859-1"; - 67
chr1_16857_17742 - chr1 14404 29570 "ENST00000488147.1"; "WASH7P"; - 885
chr1_16857_18061 - chr1 ... (5 Replies)
Discussion started by: coppuca
5 Replies
LEARN ABOUT SUSE
html::filter
HTML::Filter(3) User Contributed Perl Documentation HTML::Filter(3)
NAME
HTML::Filter - Filter HTML text through the parser
NOTE
This module is deprecated. The "HTML::Parser" now provides the functionally of "HTML::Filter" much more efficiently with the the "default"
handler.
SYNOPSIS
require HTML::Filter;
$p = HTML::Filter->new->parse_file("index.html");
DESCRIPTION
"HTML::Filter" is an HTML parser that by default prints the original text of each HTML element (a slow version of cat(1) basically). The
callback methods may be overridden to modify the filtering for some HTML elements and you can override output() method which is called to
print the HTML text.
"HTML::Filter" is a subclass of "HTML::Parser". This means that the document should be given to the parser by calling the $p->parse() or
$p->parse_file() methods.
EXAMPLES
The first example is a filter that will remove all comments from an HTML file. This is achieved by simply overriding the comment method to
do nothing.
package CommentStripper;
require HTML::Filter;
@ISA=qw(HTML::Filter);
sub comment { } # ignore comments
The second example shows a filter that will remove any <TABLE>s found in the HTML file. We specialize the start() and end() methods to
count table tags and then make output not happen when inside a table.
package TableStripper;
require HTML::Filter;
@ISA=qw(HTML::Filter);
sub start
{
my $self = shift;
$self->{table_seen}++ if $_[0] eq "table";
$self->SUPER::start(@_);
}
sub end
{
my $self = shift;
$self->SUPER::end(@_);
$self->{table_seen}-- if $_[0] eq "table";
}
sub output
{
my $self = shift;
unless ($self->{table_seen}) {
$self->SUPER::output(@_);
}
}
If you want to collect the parsed text internally you might want to do something like this:
package FilterIntoString;
require HTML::Filter;
@ISA=qw(HTML::Filter);
sub output { push(@{$_[0]->{fhtml}}, $_[1]) }
sub filtered_html { join("", @{$_[0]->{fhtml}}) }
SEE ALSO
HTML::Parser
COPYRIGHT
Copyright 1997-1999 Gisle Aas.
This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself.
perl v5.12.1 2008-04-04 HTML::Filter(3)