Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Filtering based on column values Post 302998225 by Aia on Saturday 27th of May 2017 11:05:53 AM
Old 05-27-2017
The original Perl command gives me the same result you want when run against your latest example.
Code:
perl -nle '/SF=(\d{3})/; print if $1 > 400 or $. == 1' real.file
#CHROM  POS     ID      REF     ALT     QUAL    FILTER  INFO    FORMAT
chr19   9088447 9088447 T       C       2420.41 .       AC=5;AN=10;SF=441,477,517,643,662;VRT=1 GT:GQ:DP:AD:PL
chr19   9072886 9072886 G       C       245.11  .       AC=5;AN=10;SF=448,498,500,741,778;VRT=1 GT:GQ:PL:AD:DP
chr7    149484550       149484550       G       A       305.11  .       AC=5;AN=10;SF=606,704,723,736,763;VRT=1 GT:DP:AD:PL:GQ
chr7    149482784       149482784       C       T       822     .       AC=5;AN=10;SF=472,478,684,708,799;VRT=1 GT:GQ:DP:AD:PL

If you only want the number as you mentioned in post #12, then:

Code:
perl -nle '/SF=(\d+)/; print $1 if $1 > 400' real.file
441
448
606
472

 

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Filtering records of a file based on a value of a column

Hi all, I would like to extract records of a file based on a condition. The file contains 47 fields, and I would like to extract only those records that match a certain value in one of the columns, e.g. COL1 COL2 COL3 ............... COL47 1 XX 45 ... (4 Replies)
Discussion started by: risk_sly
4 Replies

2. Shell Programming and Scripting

How to pick values from column based on key values by usin AWK

Dear Guyz:) I have 2 different input files like this. I would like to pick the values or letters from the inputfile2 based on inputfile1 keys (A,F,N,X,Z). I have done similar task by using awk but in that case the inputfiles are similar like in inputfile2 (all keys in 1st column and values in... (16 Replies)
Discussion started by: repinementer
16 Replies

3. Shell Programming and Scripting

How to averaging column based on first column values

Hello I have file that consist of 2 columns of millions of entries timestamp and throughput I want to find the average (throughput ) for each equal timestamp before change it to proper format e.g : i want to average 2 coloumnd fot all 1308154800 values in column 1 and then print... (4 Replies)
Discussion started by: aadel
4 Replies

4. Shell Programming and Scripting

Perl: filtering lines based on duplicate values in a column

Hi I have a file like this. I need to eliminate lines with first column having the same value 10 times. 13 18 1 + chromosome 1, 122638287 AGAGTATGGTCGCGGTTG 13 18 1 + chromosome 1, 128904080 AGAGTATGGTCGCGGTTG 13 18 1 - chromosome 14, 13627938 CAACCGCGACCATACTCT 13 18 1 + chromosome 1,... (5 Replies)
Discussion started by: polsum
5 Replies

5. Shell Programming and Scripting

Filtering lines for column elements based on corresponding counts in another column

Hi, I have a file like this ACC 2 2 21 aaa AC 443 3 22 aaa GCT 76 1 33 xxx TCG 34 2 33 aaa ACGT 33 1 22 ggg TTC 99 3 44 wee CCA 33 2 33 ggg AAC 1 3 55 ddd TTG 10 1 22 ddd TTGC 98 3 22 ddd GCT 23 1 21 sds GTC 23 4 32 sds ACGT 32 2 33 vvv CGT 11 2 33 eee CCC 87 2 44... (1 Reply)
Discussion started by: polsum
1 Replies

6. Shell Programming and Scripting

Adding values of a column based on another column

Hello, I have a data such as this: ENSGALG00000000189 329 G A 4 2 0 ENSGALG00000000189 518 T C 5 1 0 ENSGALG00000000189 1104 G A 5 1 0 ENSGALG00000000187 3687 G T 5 1 0 ENSGALG00000000187 4533 A T 4 2 0 ENSGALG00000000233 5811 T C 4 2 0 ENSGALG00000000233 5998 C A 5 1 0 I want to... (3 Replies)
Discussion started by: Homa
3 Replies

7. Shell Programming and Scripting

Sum column values based in common identifier in 1st column.

Hi, I have a table to be imported for R as matrix or data.frame but I first need to edit it because I've got several lines with the same identifier (1st column), so I want to sum the each column (2nd -nth) of each identifier (1st column) The input is for example, after sorted: K00001 1 1 4 3... (8 Replies)
Discussion started by: sargotrons
8 Replies

8. UNIX for Dummies Questions & Answers

Repositioning based on column values

Dear all ... I have a file which I want to change the structure based on the values in some columns and I would be grateful if you can help... one of my files looks like ... they all have ten rows 1,0,0 10,0,0 2,0,0 3,0,0 4,1,1 4,1,1 4,1,1 5,0,0 6,0,0 7,0,0 8,0.5,2 9,0.33,3 9,0.33,3... (1 Reply)
Discussion started by: A-V
1 Replies

9. Shell Programming and Scripting

Concatenate values in the first column based on the second column.

I have a file (myfile.txt) with contents like this: 1.txt apple is 3.txt apple is 5.txt apple is 2.txt apple is a 7.txt apple is a 8.txt apple is a fruit 4.txt orange not a fruit 6.txt zero isThe above file is already sorted using this command: sort -k2 myfile.txtMy objective is to get... (3 Replies)
Discussion started by: shoaibjameel123
3 Replies

10. UNIX for Beginners Questions & Answers

Filtering records of a csv file based on a value of a column

Hi, I tried filtering the records in a csv file using "awk" command listed below. awk -F"~" '$4 ~ /Active/{print }' inputfile > outputfile The output always has all the entries. The same command worked for different users from one of the forum links. content of file I was... (3 Replies)
Discussion started by: sunilmudikonda
3 Replies
FindRef(3pm)						User Contributed Perl Documentation					      FindRef(3pm)

NAME
Devel::FindRef - where is that reference to my variable hiding? SYNOPSIS
use Devel::FindRef; print Devel::FindRef::track $some_variable; DESCRIPTION
Tracking down reference problems (e.g. you expect some object to be destroyed, but there are still references to it that keep it alive) can be very hard. Fortunately, perl keeps track of all its values, so tracking references "backwards" is usually possible. The "track" function can help track down some of those references back to the variables containing them. For example, for this fragment: package Test; use Devel::FindRef; use Scalar::Util; our $var = "hi "; my $global_my = $var; our %global_hash = (ukukey => $var); our $global_hashref = { ukukey2 => $var }; sub testsub { my $testsub_local = $global_hashref; print Devel::FindRef::track $var; } my $closure = sub { my $closure_var = $_[0]; Scalar::Util::weaken (my $weak_ref = $var); testsub; }; $closure->($var); The output is as follows (or similar to this, in case I forget to update the manpage after some changes): SCALAR(0x7cc888) [refcount 6] is +- referenced by REF(0x8abcc8) [refcount 1], which is | in the lexical '$closure_var' in CODE(0x8abc50) [refcount 4], which is | +- the closure created at tst:18. | +- referenced by REF(0x7d3c58) [refcount 1], which is | | in the lexical '$closure' in CODE(0x7ae530) [refcount 2], which is | | +- the containing scope for CODE(0x8ab430) [refcount 3], which is | | | in the global &Test::testsub. | | +- the main body of the program. | +- in the lexical '&' in CODE(0x7ae530) [refcount 2], which was seen before. +- referenced by REF(0x7cc7c8) [refcount 1], which is | in the lexical '$global_my' in CODE(0x7ae530) [refcount 2], which was seen before. +- in the global $Test::var. +- referenced by REF(0x7cc558) [refcount 1], which is | in the member 'ukukey2' of HASH(0x7ae140) [refcount 2], which is | +- referenced by REF(0x8abad0) [refcount 1], which is | | in the lexical '$testsub_local' in CODE(0x8ab430) [refcount 3], which was seen before. | +- referenced by REF(0x8ab4f0) [refcount 1], which is | in the global $Test::global_hashref. +- referenced by REF(0x7ae518) [refcount 1], which is | in the member 'ukukey' of HASH(0x7d3bb0) [refcount 1], which is | in the global %Test::global_hash. +- referenced by REF(0x7ae2f0) [refcount 1], which is a temporary on the stack. It is a bit convoluted to read, but basically it says that the value stored in $var is referenced by: - the lexical $closure_var(0x8abcc8), which is inside an instantiated closure, which in turn is used quite a bit. - the package-level lexical $global_my. - the global package variable named $Test::var. - the hash element "ukukey2", in the hash in the my variable $testsub_local in the sub "Test::testsub" and also in the hash "$referenced by Test::hash2". - the hash element with key "ukukey" in the hash stored in %Test::hash. - some anonymous mortalised reference on the stack (which is caused by calling "track" with the expression "$var", which creates the reference). And all these account for six reference counts. EXPORTS
None. FUNCTIONS
$string = Devel::FindRef::track $ref[, $depth] Track the perl value pointed to by $ref up to a depth of $depth and return a descriptive string. $ref can point at any perl value, be it anonymous sub, hash, array, scalar etc. This is the function you most often use. @references = Devel::FindRef::find $ref Return arrayrefs that contain [$message, $ref] pairs. The message describes what kind of reference was found and the $ref is the reference itself, which can be omitted if "find" decided to end the search. The returned references are all weak references. The "track" function uses this to find references to the value you are interested in and recurses on the returned references. $ref = Devel::FindRef::ptr2ref $integer Sometimes you know (from debugging output) the address of a perl scalar you are interested in (e.g. "HASH(0x176ff70)"). This function can be used to turn the address into a reference to that scalar. It is quite safe to call on valid addresses, but extremely dangerous to call on invalid ones. # we know that HASH(0x176ff70) exists, so turn it into a hashref: my $ref_to_hash = Devel::FindRef::ptr2ref 0x176ff70; $ref = Devel::FindRef::ref2ptr $reference The opposite of "ptr2ref", above: returns the internal address of the value pointed to by the passed reference. No checks whatsoever will be done, so don't use this. ENVIRONMENT VARIABLES
You can set the environment variable "PERL_DEVEL_FINDREF_DEPTH" to an integer to override the default depth in "track". If a call explicitly specified a depth it is not overridden. AUTHOR
Marc Lehmann <pcg@goof.com>. COPYRIGHT AND LICENSE
Copyright (C) 2007, 2008 by Marc Lehmann. This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself, either Perl version 5.8.8 or, at your option, any later version of Perl 5 you may have available. perl v5.14.2 2009-08-30 FindRef(3pm)
All times are GMT -4. The time now is 09:35 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy