Using awk to determine if field value is valid


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Using awk to determine if field value is valid
# 1  
Old 01-25-2013
Using awk to determine if field value is valid

Hi Forum.

I tried to search the forum posts for an answer but I haven't been able to do so for what I'm trying to accomplish.

I have the following source file:
Code:
11936385~TFSA|11936385|4431|3401458067|10/09/1982|25.00|IBSBONUS|3200|||||CASH|
3401458067|1005|
21936385~TFSA|11936385|4431|3401458067|10/09/1982|0|IBSBONUS|3200|||||CASH|3401
458067|1005|
31936385~TFSA|11936385|4431|3401458067|10/09/1982|A|IBSBONUS|3200|||||CASH|3401
458067|1005|
41936385~TFSA|11936385|4431|3401458067|10/09/1982||IBSBONUS|3200|||||CASH|34014
58067|1005|

Field#6 has to be a dollar amount or count value greater than zero. So for this example, first record is valid while the last 3 records are not valid.

This is the code that I have so far but it's not returning the correct expected results:
Code:
awk -F"|" '$6=="" || $6=="0" || $6 !~ /^[0-9]*.[0-9]*$/ {print $0}' filename

Thanks for your help.
# 2  
Old 01-25-2013
Try:
Code:
awk -F\| '$6+0>0' file

This User Gave Thanks to Scrutinizer For This Post:
# 3  
Old 01-25-2013
Gee - that was just a simple but elegant solution. Smilie
# 4  
Old 01-25-2013
It could be shortened still: Smilie
Code:
awk -F\| '$6+0' file

Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. UNIX for Beginners Questions & Answers

Problem with getting awk to multiply a field by a value set based on condition of another field

Hi, So awk is driving me crazy on this one. I have searched everywhere and read man, docs and every related post Google can find and still no luck. The actual files I need to run this on are sensitive in nature, but it is the same thing as if I needed to calculate weighted grades for multiple... (15 Replies)
Discussion started by: cotilloe
15 Replies

2. Shell Programming and Scripting

awk to update field using matching value in file1 and substring in field in file2

In the awk below I am trying to set/update the value of $14 in file2 in bold, using the matching NM_ in $12 or $9 in file2 with the NM_ in $2 of file1. The lengths of $9 and $12 can be variable but what is consistent is the start pattern will always be NM_ and the end pattern is always ;... (2 Replies)
Discussion started by: cmccabe
2 Replies

3. Shell Programming and Scripting

awk to adjust coordinates in field based on sequential numbers in another field

I am trying to output a tab-delimited result that uses the data from a tab-delimited file to combine and subtract specific lines. If $4 matches in each line then the first matching sequential $6 value is added to $2, unless the value is 1, then the original $2 is used (like in the case of line... (3 Replies)
Discussion started by: cmccabe
3 Replies

4. Shell Programming and Scripting

How can awk ignore the field delimiter like comma inside a field?

We have a csv file as mentioned below and the requirement is to change the date format in file as mentioned below. Current file (file.csv) ---------------------- empname,date_of_join,dept,date_of_resignation ram,08/09/2015,sales,21/06/2016 "akash,sahu",08/10/2015,IT,21/07/2016 ... (6 Replies)
Discussion started by: gopal.biswal
6 Replies

5. Shell Programming and Scripting

awk to parse field and include the text of 1 pipe in field 4

I am trying to parse the input in awk to include the |gc= in $4 but am not able to. The below is close: awk so far: awk '{sub(/\|]+]++/, ""); print }' input.txt Input chr1 955543 955763 AGRN-6|pr=2|gc=75 0 + chr1 957571 957852 AGRN-7|pr=3|gc=61.2 0 + chr1 970621 ... (7 Replies)
Discussion started by: cmccabe
7 Replies

6. Shell Programming and Scripting

Determine the string is valid

Dear All, I have a string "1234567899*0#123456789#", it can be divided into: - 1st: 1234567899 Validation: 10 digits, only 0-9 - 2nd: *0# Fixed Value - 3rd: 123456789 Validation: 9 digits, only 0-9 - 4th: # Fixed Value Would like to know if any 1 line statement perl,... (5 Replies)
Discussion started by: jimmy_y
5 Replies

7. Shell Programming and Scripting

AWK: Pattern match between 2 files, then compare a field in file1 as > or < field in file2

First, thanks for the help in previous posts... couldn't have gotten where I am now without it! So here is what I have, I use AWK to match $1 and $2 as 1 string in file1 to $1 and $2 as 1 string in file2. Now I'm wondering if I can extend this AWK command to incorporate the following: If $1... (4 Replies)
Discussion started by: right_coaster
4 Replies

8. Shell Programming and Scripting

awk command - not a valid identifier message

Trying to run the following awk command : export com.mics.ara.server.tools.sch_reports.Runner.num_threads=`awk -F= '!/^#/ && /com.mics.ara.server.tools.sch_reports.Runner.num_threads/{print $2}' $BKUPDIR/env.properties` -bash: export:... (6 Replies)
Discussion started by: venhart
6 Replies

9. Shell Programming and Scripting

awk, comma as field separator and text inside double quotes as a field.

Hi, all I need to get fields in a line that are separated by commas, some of the fields are enclosed with double quotes, and they are supposed to be treated as a single field even if there are commas inside the quotes. sample input: for this line, 5 fields are supposed to be extracted, they... (8 Replies)
Discussion started by: kevintse
8 Replies

10. Shell Programming and Scripting

how to judge wether a url is valid or not using awk

rt 3ks:confused: (6 Replies)
Discussion started by: rainboisterous
6 Replies
Login or Register to Ask a Question