Visit Our UNIX and Linux User Community


awk to select rows based on condition on column


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting awk to select rows based on condition on column
# 1  
Old 11-04-2009
Question awk to select rows based on condition on column

I have got a file like this
003ABC00281020091005000100042.810001
003ABC01281020091005000100042.810001
003DEF00281020091005000100044.180001
003DEF01281020091005000100044.180001
003GHI00281020091005000100046.130001
003GHI01281020091005000100046.130001
003DKK00281020091005000100009.370001

i want output like this

003ABC00281020091005000100042.810001

003DEF00281020091005000100044.180001

003GHI00281020091005000100046.130001
003DKK00281020091005000100009.370001
i mean i want to select rows only when 8th character of the line is 0... Is it possible to do it using awk...pls help...
(pls ignore the space between lines Smilie
# 2  
Old 11-04-2009
try this ...

Code:
awk '{chaine=substr($0,8,1);if (chaine==0) print $0}' file

# 3  
Old 11-04-2009
If you need keep the line position:

Code:
$ awk '{if (substr($0,8,1)==0) {print $0} else {print ""} }' urfile
003ABC00281020091005000100042.810001

003DEF00281020091005000100044.180001

003GHI00281020091005000100046.130001

003DKK00281020091005000100009.370001

# 4  
Old 11-04-2009
Code:
nawk ' (substr($0,8,1) == "0"){printf("%s\n\n", $0)} ' file


Last edited by steadyonabix; 11-04-2009 at 05:39 AM..
# 5  
Old 11-04-2009
Try to grep
Code:
grep -E "^.{7}0" inFile

# 6  
Old 11-04-2009
Try this one to
Code:
cat yourfile | awk -F "" '{ if ($8==0)  print $0 }'

Where yourfile is the input file
# 7  
Old 11-04-2009
Quote:
Originally Posted by oky
Try this one to
Code:
cat yourfile | awk -F "" '{ if ($8==0)  print $0 }'

Where yourfile is the input file
Avoid the usage of "cat" here.

Code:
awk -F "" '{ if ($8==0)  print $0 }' yourfile


Previous Thread | Next Thread
Test Your Knowledge in Computers #744
Difficulty: Medium
Clang is a compiler front end for the C, C++, Objective-C and Objective-C++ programming languages.
True or False?

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

awk to select lines with maximum value of each record based on column value

Hello, I want to get the maximum value of each record separated by empty line based on the 3rd column of each row within each record? Input: A1 chr5D 634 7 82 707 A2 chr5D 637 6 82 713 A3 chr5D 637 5 82 713 A4 chr5D 626 1 82 704... (4 Replies)
Discussion started by: yifangt
4 Replies

2. UNIX for Advanced & Expert Users

Conversion of rows to columns using awk based om column value

HI, My Input file data is dn:adcfgeneral id:13343 Name:xxxxxx Password:iutyerwuitywue wpuwt tuiytruityrutyrwtyrwp dn:cdferwjyyyy id:3875 Name:yyyy Password :hgfdsjkfhdsfkdlshf dshfkldshfdklsfh interset:uiuiufj My output should be ... (6 Replies)
Discussion started by: dineshaila
6 Replies

3. Shell Programming and Scripting

awk to ignore multiple rows based on a condition

All, I have a text file(Inputfile.csv) with millions of rows and 100 columns. Check the sample for 2 columns below. Key,Check A,1 A,2 A, A,4 B,0 B,1 B,2 B,3 B,4 .... million rows. My requirement is to delete all the rows corresponding to all the keys which ever has at least one... (4 Replies)
Discussion started by: ks_reddy
4 Replies

4. Shell Programming and Scripting

Convert rows to columns based on condition

I have a file some thing like this: GN Name=YWHAB; RC TISSUE=Keratinocyte; RC TISSUE=Thymus; CC -!- FUNCTION: Adapter protein implicated in the regulation of a large CC spectrum of both general and specialized signaling pathways GN Name=YWHAE; RC TISSUE=Liver; RC ... (13 Replies)
Discussion started by: raj_k
13 Replies

5. Shell Programming and Scripting

Need to select some column from file1 if condition match.

I have two files file1.txt and file2.txt. want to print some column(number,status,date1,date2,description(descrption column end before category column start with'Oracle Services') and assigned_to column from file1.txt ...If the assigned_to name in file2.txt matches with assinged_to name in... (2 Replies)
Discussion started by: vijay_rajni
2 Replies

6. Shell Programming and Scripting

Select distinct rows in a file by last column

Hi, I have the following file: LOG:015608::ERR:2310:map_spsrec:Invalid parameter LOG:015608::ERR:2471:map_dgdrec:Invalid parameter LOG:015608::ERR:2487:map_nnmrec:Invalid number LOG:015608::ERR:2310:map_nmrec:Invalid number LOG:015608::ERR:2438:map_nmrec:Invalid number As a delimiter I... (2 Replies)
Discussion started by: apenkov
2 Replies

7. UNIX for Dummies Questions & Answers

merging rows into new file based on rows and first column

I have 2 files, file01= 7 columns, row unknown (but few) file02= 7 columns, row unknown (but many) now I want to create an output with the first field that is shared in both of them and then subtract the results from the rest of the fields and print there e.g. file 01 James|0|50|25|10|50|30... (1 Reply)
Discussion started by: A-V
1 Replies

8. Shell Programming and Scripting

Combining multiple rows in single row based on certain condition using awk or sed

Hi, I'm using AIX(ksh shell). > cat temp.txt "a","b",0 "c",bc",0 "a1","b1",0 "cc","cb",1 "cc","b2",1 "bb","bc",2 I want the output as: "a","b","c","bc","a1","b1" "cc","cb","cc","b2" "bb","bc" I want to combine multiple lines into single line where third column is same. Is... (1 Reply)
Discussion started by: samuelray
1 Replies

9. Shell Programming and Scripting

Select rows where the 3rd column value is over xx

Hi All, I've got a text file which is Postcode,Postcode, Travel_time and I want to select all of the rows where the 3rd column value is over 255. Can someone show me the magic on how to do this? Originally it did contain 4 columns but i've managed to strip out the first 3 using: cat textfile |... (3 Replies)
Discussion started by: gman
3 Replies

10. Shell Programming and Scripting

Awk - how to select the column based on day of month

Problem, How can you pass today's date (eg) 18 into Awk and select the field representing the 18th column? I have an output that I want to interact with based on what day it is information=0:0 192:0 5436:0 22:99 0:0 0:0 1234:0 1359:09 DAY=date'+%d' numbrs=`$information | awk... (2 Replies)
Discussion started by: Gizmo1007
2 Replies

Featured Tech Videos