Sponsored Content
Top Forums Shell Programming and Scripting Filter datablocks meeting criteria Post 302964959 by Yoda on Thursday 21st of January 2016 12:08:01 PM
Old 01-21-2016
Try this:-
Code:
awk '
        BEGIN {
                X = 1
                F = 1
        }
        $2 >= 30 {
                F = 1
                ++C
                A[X,C] = $0
                T[X] += $2
                M[X] = C
        }
        /^[ \t]*$/ && F {
                ++X
                F = 0
        }
        END {
                for ( m = 1; m <= X; m++ )
                {
                        if ( T[m] >= 250 )
                        {
                                ++B
                                for ( n = 1; n <= M[m]; n++ )
                                {
                                        if ( A[m,n] )
                                                print "Block"B, A[m,n]
                                }
                                printf "\n"
                        }
                }
        }
' OFS='\t' file

This User Gave Thanks to Yoda For This Post:
 

4 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

extract data from a data matrix with filter criteria

Here is what old matrix look like, IDs X1 X2 Y1 Y2 10914061 -0.364613333 -0.362922333 0.001691 -0.450094667 10855062 0.845956333 0.860396667 0.014440333 1.483899333... (7 Replies)
Discussion started by: ssshen
7 Replies

2. Shell Programming and Scripting

Filter/remove duplicate .dat file with certain criteria

I am a beginner in Unix. Though have been asked to write a script to filter(remove duplicates) data from a .dat file. File is very huge containig billions of records. contents of file looks like 30002157,40342424,OTC,mart_rec,100, ,0 30002157,40343369,OTC,mart_rec,95, ,0... (6 Replies)
Discussion started by: mukeshguliao
6 Replies

3. Shell Programming and Scripting

Help with filter result that fulfill criteria

Input file: ##fileformat=tab ##reference=file:input.txt #Line Position Score Input_185827_2127 1071 67 Input_18213_21 1021 100 Input_9012_214 200 150 Input_935_217 124 70 Output file: ##fileformat=tab ##reference=file:input.txt #Line Position Score Input_18213_21 1021... (2 Replies)
Discussion started by: perl_beginner
2 Replies

4. Shell Programming and Scripting

Awk/sed/cut to filter out records from a file based on criteria

I have two files and would need to filter out records based on certain criteria, these column are of variable lengths, but the lengths are uniform throughout all the records of the file. I have shown a sample of three records below. Line 1-9 is the item number "0227546_1" in the case of the first... (15 Replies)
Discussion started by: MIA651
15 Replies
APT-CUDF.CONF(5)						    DOSE Tools							  APT-CUDF.CONF(5)

NAME
apt-cudf.conf - Configuration file for apt-cudf DESCRIPTION
The configuration file allows one to define default optimization criterias for all solvers known by apt-cudf SYNTAX
solver: <solver list> | '*' A comma-separated list of solvers. The character will make the optimization criteria as default for all solvers without a more specific definition. upgrade: <optimization criteria> dist-upgrade: <optimization criteria> install: <optimization criteria> remove: <optimization criteria> Default optimization criteria associated to apt-get actions. The optimization criteria is solver specific. Specifying a incorrect criteria will result in an error from the underlying cudf solver. Please refere to the solver man page for the correct syntax trendy: <optimization criteria> paranoid: <optimization criteria> <keyword>: <optimization criteria> Define a shortcut for an optimization criteria. The shortcut can then be used by apt-get to pass a specific optimization criteria for a cudf solver apt-get install gnome --solver aspcud -o "APT::Solver::aspcud::Preferences=trendy" EXAMPLE
solver: mccs-cbc , mccs-lpsolve upgrade: -lex[-new,-removed,-notuptodate] dist-upgrade: -lex[-notuptodate,-new] install: -lex[-removed,-changed] remove: -lex[-removed,-changed] trendy: -lex[-removed,-notuptodate,-unsat_recommends,-new] paranoid: -lex[-removed,-changed] solver: * upgrade: -new,-removed,-notuptodate dist-upgrade: -notuptodate,-new install: -removed,-changed remove: -removed,-changed trendy: -removed,-notuptodate,-unsat_recommends,-new paranoid: -removed,-changed SEE ALSO
apt-cudf(8), apt-get(8), update-cudf-solvers(8), README.cudf-solvers <file:///usr/share/doc/apt-cudf/README.cudf-solvers>, README.Debian <file:///usr/share/doc/apt-cudf/README.Debian> AUTHOR
Copyright: (C) 2011 Pietro Abate <pietro.abate@pps.jussieu.fr> Copyright: (C) 2011 Stefano Zacchiroli <zack@debian.org> License: GNU Lesser General Public License (GPL), version 3 or above dose3 3.0.2 2012-06-25 APT-CUDF.CONF(5)
All times are GMT -4. The time now is 03:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy