Hi,
I'm trying to assign a score to each row which will allow me to identify which rows differ. In the example file below, I've used "," to indicate column separators (my actual file has tab separators). In this example, I'd like to identify that row 1 and row 5 are the same, and row 2 and row... (4 Replies)
Hi All,
I have the following input which i want to process using AWK.
Rows,NC,amount
1,1202,0.192387
2,1201,0.111111
3,1201,0.123456
i want the following output
count of rows = 3 ,sum of amount = 0.426954
Many thanks (2 Replies)
Hi experts a have a very large file and I need to add two columns: the first one numbering the incidence of records and the another with the total count
The input file:
21 2341 A
21 2341 A
21 2341 A
21 2341 C
21 2341 C
21 2341 C
21 2341 C
21 4567 A
21 4567 A
21 4567 C
... (6 Replies)
I have a text file where the second column is a list of numbers going from small to large. I want to extract the rows where the second column is smaller than or equal to 0.0001.
My input:
rs10082730 9e-08 12 46002702
rs2544081 1e-07 12 46015487
rs1425136 1e-06 7 35396742
rs2712590... (1 Reply)
Hi,
Please help me to convert the input file to a new one.
input file:
--------
1231231231 3 A
4561223343 0 D
1231231231 1 A
1231231231 2 A
1231231231 4 D
7654343444 2 A
4561223343 1 D
4561223343 2 D
the output should be:
--------------------
1231231231 3#1#2 A
4561223343 0 D... (3 Replies)
I have a space delimited text file. I want to extract rows where the third column has 0 as a value and write those rows into a new space delimited text file. How do I go about doing that? Thanks! (2 Replies)
Hi !
input:
A|B|C|D
A|F|C|E
A|B|I|C
A|T|I|B
As the title of the thread says, I would need to get:
1|3|2|4
I tried different variants of this command, but I don't manage to obtain what I need:
gawk 'BEGIN{FS=OFS="|"}{for(i=1; i<=NF; i++) a++} END {for (b in a) print b}' input
... (2 Replies)
I have a .csv file:
A,B,0.6
C,D,-0.7
D,E,0.1
A,E,0.45
D,G, -0.4
I want to select rows based on the values of the 3rd columns such that it is >=0.5 or <= -0.5
Thanks.
A,B,0.6
D,G, -0.7 (1 Reply)
Hi All,
I am trying to select the rows in a fixed width file based on values in the columns.
I want to select only the rows if column position 3-4 has the value AB
I am using cut command to get the column values. Is it possible to check if cut -c3-4 = AB is true then select only that... (2 Replies)
What is an efficient way of counting the number of unique values in a 400 column by 1000 row array and outputting the counts per column, assuming the unique values in the array are:
A, B, C, D
In other words the output should look like: Value COL1 COL2 COL3
A 50 51 52... (16 Replies)
Discussion started by: Geneanalyst
16 Replies
LEARN ABOUT DEBIAN
perlx::maybe
PerlX::Maybe(3pm) User Contributed Perl Documentation PerlX::Maybe(3pm)NAME
PerlX::Maybe - return a pair only if they are both defined
SYNOPSIS
You once wrote:
my $bob = Person->new(
defined $name ? (name => $name) : (),
defined $age ? (age => $age) : (),
);
Now you can write:
my $bob = Person->new(
maybe name => $name,
maybe age => $age,
);
DESCRIPTION
Moose classes (and some other classes) distinguish between an attribute being unset and the attribute being set to undef. Supplying a
constructor arguments like this:
my $bob = Person->new(
name => $name,
age => $age,
);
Will result in the "name" and "age" attributes possibly being set to undef (if the corresponding $name and $age variables are not defined),
which may violate the Person class' type constraints.
(Note: if you are the author of the class in question, you can solve this using MooseX::UndefTolerant. However, some of us are stuck using
non-UndefTolerant classes written by third parties.)
To ensure that the Person constructor does not try to set a name or age at all when they are undefined, ugly looking code like this is
often used:
my $bob = Person->new(
defined $name ? (name => $name) : (),
defined $age ? (age => $age) : (),
);
or:
my $bob = Person->new(
(name => $name) x!!(defined $name),
(age => $age) x!!(defined $age),
);
A slightly more elegant solution is the "maybe" function:
"maybe $x => $y, @rest"
This function checks that $x and $y are both defined. If they are, it returns them both as a list; otherwise it returns the empty list.
If @rest is provided, it is unconditionally appended to the end of whatever list is returned.
The combination of these behaviours allows the following very sugary syntax to "just work".
my $bob = Person->new(
name => $name,
address => $addr,
maybe phone => $tel,
maybe email => $email,
unique_id => $id,
);
This function is exported by default.
BUGS
Please report any bugs to http://rt.cpan.org/Dist/Display.html?Queue=PerlX-Maybe <http://rt.cpan.org/Dist/Display.html?Queue=PerlX-Maybe>.
SEE ALSO
Syntax::Feature::Maybe.
MooseX::UndefTolerant, PerlX::Perform, Exporter.
AUTHOR
Toby Inkster <tobyink@cpan.org>.
COPYRIGHT AND LICENCE
This software is copyright (c) 2012 by Toby Inkster.
This is free software; you can redistribute it and/or modify it under the same terms as the Perl 5 programming language system itself.
DISCLAIMER OF WARRANTIES
THIS PACKAGE IS PROVIDED "AS IS" AND WITHOUT ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, WITHOUT LIMITATION, THE IMPLIED WARRANTIES OF
MERCHANTIBILITY AND FITNESS FOR A PARTICULAR PURPOSE.
perl v5.14.2 2012-05-03 PerlX::Maybe(3pm)