Sponsored Content
Top Forums UNIX for Beginners Questions & Answers Awk: greater than sign is working upside down Post 303016246 by beca123456 on Monday 23rd of April 2018 09:23:10 AM
Old 04-23-2018
Awk: greater than sign is working upside down

Hi,

I noticed a weird behaviour with awk.

input:
Code:
A|B|1-100|blabla_35_40_blabla;blabla_53_60_blabla;blabla_90_110_blabla

Objective:
For each string separated by ';' in $4, if the first and second numbers are included in the interval in $3, then print "TRUE". Otherwise print "FALSE".

In order to get this output:
Code:
A|B|1-100|blabla_35_40_blabla|TRUE
A|B|1-100|blabla_53_60_blabla|TRUE
A|B|1-100|blabla_90_110_blabla|FALSE

My code:
Code:
awk '
BEGIN{FS=OFS="|"}
{
    START=FINISH=$3
    gsub(/-.+$/,"",START)                         # isolate the first number in the interval in $3
    gsub(/^.+-/,"",FINISH)                       # isolate the second number in the interval in $3

    a=split($4,b,";")
    for(i=1; i<=a; i++){
        beg=gensub(/(^[^_]+_)([0-9]+)(_.+$)/,"\\2","g",b[i])                      # isolate first number in $4
        end=gensub(/(^[^_]+_[0-9]+_)([0-9]+)(_.+$)/,"\\2","g",b[i])          # isolate second number in $4

        if(beg > START && end < FINISH){
            print $1 FS $2 FS $3 FS b[i] FS "TRUE"
        }
        else{
            print $1 FS $2 FS $3 FS b[i] FS "FALSE"
        }
    }
}' input


But I get:
Code:
A|B|1-100|blabla_35_40_blabla|FALSE
A|B|1-100|blabla_53_60_blabla|FALSE
A|B|1-100|blabla_90_110_blabla|FALSE

---------- Post updated at 08:23 AM ---------- Previous update was at 07:57 AM ----------

It actually works when I use arrays instead of 'gsub /gensub'. So I assume awk treats the number as numbers with arrays and as text with gensub maybe
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

AWK greater than 200

I need to grep out usernames with UID's greater than 200 out of the /etc/passwd file for a server migration. It is the third field however I am not sure to to accomplish this. I tried to search the forums but did not seem to find an answer (might have over looked it). Any help would be... (2 Replies)
Discussion started by: insania
2 Replies

2. Shell Programming and Scripting

Searching for + sign in a string using awk

Hi All, My query is: I have string say xyz+ how to determine that whether it ends with a + sign or not using awk command. (5 Replies)
Discussion started by: satyajit2512
5 Replies

3. Shell Programming and Scripting

AWK greater than?

Sorry for such a basic question, but I have spent hours trying to work this out! I need an awk command (or similar) that will look at a text file and output to the screen if the 4th column of each line has a value greater than or equal to x. data.txt This is the 1 line This is the 2 line This... (6 Replies)
Discussion started by: dlam
6 Replies

4. UNIX Desktop Questions & Answers

rxvt: backgroundPixmap upside down

Anyone have any advice? I've tried just about every option, tweak, re-phrase in the man page, FAQ, and such, but there doesn't seem to be any information about what to do when your AfterImage-enabled RXVT displays its background image (xbm format converted from PNG by ImageMagick v6.-something)... (0 Replies)
Discussion started by: SilversleevesX
0 Replies

5. Shell Programming and Scripting

Need to Grep or awk a logfile for greater than value

Hello all Hoping someone would be kind enough to suggest a solution to a problem i have, and see if maybe i can even do this without a script. Essentially i have a very large log file, and within it each line had a value called TTMT, and it records a variable number in the following way, so... (6 Replies)
Discussion started by: 1905
6 Replies

6. Emergency UNIX and Linux Support

SSH Is hanging and the & sign does not seem to be working

I am having an issue where I am do an SSH to about 30 servers one at a time however my script is getting hung up sometimes on the SSH. I thought the & at the end as seen below would fire it and move on but that does not seem to be working. #!/bin/sh for remsys in trumpetsnail angel... (15 Replies)
Discussion started by: LRoberts
15 Replies

7. UNIX for Dummies Questions & Answers

upside-down reversed desktop

I got some problem at startup before login such screen splashing, startup blocking on "checking battery status" and screen going black. Now, that I've solved the above problems I see the desktop screen is upside-down n reversed as well. I tried re-installing nvidia-current, re-installing... (1 Reply)
Discussion started by: dr_mabuse
1 Replies

8. Shell Programming and Scripting

awk to get values greater than

data.txt August 09 17:16 2013 August 09 17:17 2013 August 09 17:19 2013 August 09 17:20 2013 August 09 17:21 2013 August 09 17:22 2013 August 09 17:23 2013 August 09 17:24 2013 to print from a point in this file, to the end of the file, i type: awk '/August 09 17:22/,0' data.txt. ... (1 Reply)
Discussion started by: SkySmart
1 Replies

9. UNIX for Dummies Questions & Answers

Insert sign every n character (awk)

Hi, For example, I would like to insert a pipe every 4 characters for each second field (including after the last block). input (coma separated): line1,AAAABBBBCCCCDDDDEEEE line2,FFFFGGGGHHHHIIIIJJJJ output: line1,AAAA|BBBB|CCCC|DDDD|EEEE| line2,FFFF|GGGG|HHHH|IIII|JJJJ| my... (2 Replies)
Discussion started by: beca123456
2 Replies

10. Shell Programming and Scripting

Percentage sign causing awk problems

looks like awk gets confused when there's a % next to a number. command im running: awk -F" " '/phxnaz001b/ && /vol/ && NF { if (($NF >= 80) && ($NF < 83)) { print ; print ; w++ } else if ($NF >= 83) { print ; c++ } } END { printf("%d:OK %d:WARNING %d:CRITICAL\n", o, w, c) }' /tmp/test.log ... (3 Replies)
Discussion started by: SkySmart
3 Replies
TM::Coverage(3pm)					User Contributed Perl Documentation					 TM::Coverage(3pm)

NAME
TM::Coverage - Topic Maps, Code Coverage DESCRIPTION
This auxiliary package keeps track of the code coverage. Probably quite irrelevant for a user. Automatically generated for TM (1.44). ---------------------------- ------ ------ ------ ------ ------ ------ ------ File stmt bran cond sub pod time total ---------------------------- ------ ------ ------ ------ ------ ------ ------ blib/lib/TM.pm 96.4 84.5 58.0 93.7 90.6 27.5 89.6 blib/lib/TM/Analysis.pm 100.0 90.9 n/a 100.0 100.0 0.0 97.5 blib/lib/TM/AsTMa/Fact.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 blib/lib/TM/AsTMa/Fact2.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 blib/lib/TM/Bulk.pm 76.8 71.4 62.5 85.7 100.0 0.0 75.3 blib/lib/TM/CTM/CParser.pm 65.6 34.3 31.0 84.6 0.0 1.6 52.5 blib/lib/TM/CTM/Parser.pm 90.9 50.0 n/a 100.0 0.0 0.0 79.4 blib/lib/TM/DM.pm 100.0 65.0 66.7 100.0 n/a 0.0 96.5 blib/lib/TM/Graph.pm 99.1 88.5 n/a 100.0 100.0 0.0 97.4 blib/lib/TM/Index.pm 100.0 80.0 60.0 100.0 83.3 0.3 87.8 .../Index/Characteristics.pm 100.0 100.0 n/a 100.0 0.0 0.0 97.0 blib/lib/TM/Index/Match.pm 98.5 87.5 n/a 100.0 100.0 0.5 97.6 blib/lib/TM/LTM/CParser.pm 84.9 45.3 42.7 98.2 0.0 0.2 67.8 blib/lib/TM/LTM/Parser.pm 95.7 62.5 50.0 100.0 0.0 0.0 87.1 blib/lib/TM/Literal.pm 45.8 0.0 11.8 30.0 0.0 0.4 24.2 blib/lib/TM/MapSphere.pm 96.5 84.6 68.8 100.0 100.0 0.0 91.7 .../TM/Materialized/AsTMa.pm 100.0 n/a n/a 100.0 0.0 0.0 95.5 ...ib/TM/Materialized/LTM.pm 100.0 n/a n/a 100.0 0.0 0.0 95.5 .../TM/Materialized/MLDBM.pm 100.0 83.3 n/a 100.0 0.0 0.0 92.6 ...b/TM/Materialized/Null.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 ...TM/Materialized/Stream.pm 100.0 100.0 100.0 100.0 0.0 0.0 96.0 ...ib/TM/Materialized/XTM.pm 100.0 n/a n/a 100.0 0.0 0.0 96.7 blib/lib/TM/PSI.pm 100.0 n/a n/a 100.0 n/a 0.0 100.0 blib/lib/TM/QL.pm 91.4 61.5 66.7 100.0 50.0 0.1 83.9 blib/lib/TM/QL/CParser.pm 76.2 42.4 41.9 90.3 0.0 9.1 62.0 blib/lib/TM/QL/PE.pm 83.8 77.3 80.0 91.7 0.0 52.5 80.5 blib/lib/TM/QL/TS.pm 65.2 35.4 27.8 70.8 53.3 2.4 56.9 blib/lib/TM/ResourceAble.pm 88.1 87.5 n/a 100.0 100.0 0.0 90.0 .../TM/ResourceAble/MLDBM.pm 100.0 75.0 n/a 100.0 0.0 0.0 94.2 blib/lib/TM/Serializable.pm 94.9 65.6 100.0 100.0 100.0 0.0 84.1 .../TM/Serializable/AsTMa.pm 99.1 87.9 66.7 100.0 100.0 0.0 94.2 ...TM/Serializable/Dumper.pm 100.0 n/a n/a 100.0 0.0 0.0 93.5 ...ib/TM/Serializable/LTM.pm 94.1 n/a n/a 83.3 100.0 0.0 92.0 ...ib/TM/Serializable/XTM.pm 96.3 85.2 72.9 100.0 100.0 0.2 91.5 .../lib/TM/Synchronizable.pm 100.0 75.0 100.0 100.0 100.0 0.0 97.2 ...M/Synchronizable/MLDBM.pm 100.0 50.0 n/a 100.0 0.0 0.0 89.3 ...nchronizable/MapSphere.pm 100.0 63.6 64.3 100.0 100.0 0.0 88.6 ...TM/Synchronizable/Null.pm 100.0 n/a n/a 100.0 0.0 0.0 87.5 blib/lib/TM/Tau.pm 100.0 91.7 80.0 100.0 0.0 0.0 95.6 blib/lib/TM/Tau/Federate.pm 63.2 39.3 n/a 62.5 27.3 0.0 54.5 blib/lib/TM/Tau/Filter.pm 100.0 91.7 66.7 100.0 50.0 0.0 90.0 .../TM/Tau/Filter/Analyze.pm 100.0 n/a n/a 100.0 100.0 0.0 100.0 blib/lib/TM/Tree.pm 100.0 57.1 44.4 100.0 66.7 0.0 88.0 blib/lib/TM/Utils.pm 100.0 50.0 n/a 100.0 0.0 0.0 89.3 ...ib/TM/Utils/TreeWalker.pm 100.0 100.0 n/a 100.0 0.0 0.0 96.0 ...ib/TM/Workbench/Plugin.pm 100.0 n/a n/a 100.0 0.0 0.0 75.0 ...M/Workbench/Plugin/Tau.pm 87.5 50.0 n/a 80.0 0.0 0.0 73.1 yapp/astma-fact.yp 96.9 91.5 73.3 97.8 0.0 4.8 92.7 yapp/astma2-fact.yp 97.4 91.6 58.3 100.0 0.0 0.2 91.6 Total 76.8 45.2 40.2 91.2 57.0 100.0 63.8 ---------------------------- ------ ------ ------ ------ ------ ------ ------ SEE ALSO
TM COPYRIGHT AND LICENSE
Copyright 200[8] by Robert Barta, <drrho@cpan.org> This library is free software; you can redistribute it and/or modify it under the same terms as Perl itself. perl v5.10.1 2008-10-05 TM::Coverage(3pm)
All times are GMT -4. The time now is 06:59 AM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy