Visit Our UNIX and Linux User Community


Finding Data in the file


 
Thread Tools Search this Thread
Top Forums Shell Programming and Scripting Finding Data in the file
# 1  
Old 08-15-2013
Finding Data in the file

Hi All

I have a file having columns such as
Code:
AAA,BBB,CCC,Aug 13 2013
AAA,BBB,CCC,Aug 11 2013
AAA,BBB,CCC,Aug 12 2013
AAA,BBB,CCC,Aug 13 2013

Now I need to extract the records which are not of todays date (Considering Today date is 13-Aug-2013

So I should get below records
Code:
AAA,BBB,CCC,Aug 11 2013
AAA,BBB,CCC,Aug 12 2013

in a file

This is what am doing
Creating a file with only first and forth record via awk

-----------------------------------
Code:
cat $FILE_NAME | awk 'BEGIN{FS=",";}
{
#where = match($4,$TODAY_DATE)
#if(match)
print substr($1,1,3),"~",substr($4,1,11);}
END{;}' >> $DATE_IN_FILE

-------------------------------------
Now for comparing date am using the below
Code:
TODAY_DATE=`date +"%b %d %Y"`
cat $DATE_IN_FILE | awk 'BEGIN{FS="~";}
{
val=index($2,$TODAY_DATE)

if($val>0)
print "Inside IF"
else

print "Inside else"
;}
END{;}' >> $INCORRECT_RATE

The issue is because the Date is having multiple words Aug 12 2013 and hence Index is not working (Since Aug matches and hence it returns the value)


Please suggest

Last edited by Franklin52; 08-16-2013 at 03:17 AM.. Reason: Please use code tags
# 2  
Old 08-15-2013
Code:
awk -F, 'BEGIN{today=strftime("%b %e %Y")} !($NF~today)' infile

--ahamed
# 3  
Old 08-15-2013
Ahmed

Could you please explain your code.
# 4  
Old 08-15-2013
strftime is a inbuilt function in awk to print the date in desired format, more or less similar to the date command. This will give the date in MMM DD YYYY format and stores in the variable today. All this is done in the BEGIN block since it is required to be done only once.

Then today is compared with the last field in the file. The delimiter is ,, so $NF will yield the last field.

HTH

--ahamed
# 5  
Old 08-15-2013
Thanks a lot Ahamed, appreciate your help.
# 6  
Old 08-15-2013
!($NF~today)
can be change to
$NF!~today
For me, its more easy to test if a field is not something,
compare to test if its equal to something then invert it.
Just a personal opinion Smilie
# 7  
Old 08-15-2013
strftime is not necessarily available in all awk implementations. You could use a parameter (value defined by e.g. the date command) then to supply "today" into awk...
This User Gave Thanks to RudiC For This Post:

Previous Thread | Next Thread
Test Your Knowledge in Computers #389
Difficulty: Medium
Rocky Mountain BASIC (RMB) is a dialect of the BASIC programming language created by AIX.
True or False?

10 More Discussions You Might Find Interesting

1. UNIX for Dummies Questions & Answers

Finding data value that contains x% of points

Hi, I need help on finding the value of my data that encompasses certain percentage of my total data points (n). Attached is an example of my data, n=30. What I want to do is for instance is find the minimum threshold that still encompasses 60% (n=18), 70% (n=21) and 80% (n=24). manually to... (4 Replies)
Discussion started by: ida1215
4 Replies

2. Shell Programming and Scripting

Finding data in large no. of files

I need to find some data in a large no. of files. The data is in the following format : VALUE A VALUE B VALUE C VALUE D 10 4 65 1 12 4.5 65.5 2 10.75 5.1 ... (2 Replies)
Discussion started by: cooker97
2 Replies

3. Shell Programming and Scripting

Finding standard deviation for all columns in a data file

Hi All, I want someone to modify the below script from this forum so that it can be used for all columns in the file( instead of only printing column 3 mean and standard deviation values). I don't know how to loop around all the columns. ... (3 Replies)
Discussion started by: ks_reddy
3 Replies

4. HP-UX

finding these, whether previous data stored ?

Hi All, On HP Unix, 11.23 can following be checked , Processes which were consuming more 1)CPU 2)Memory 3)page faults For particular Time Frame say Yesterday 7 Am to 7.30 Am and , Yesterday Evening 19.00 Pm to 19.30 Pm Please specify how. whether we need to enable, some... (6 Replies)
Discussion started by: sidharthmellam
6 Replies

5. Shell Programming and Scripting

Parsing chunks of text and finding data

Hi, I need a script that parses and greps data out of a textfile. I have a text file that has this structure: File1 host1.localdomain text random text Found errors this text is random (41123) --- random random at.5165 ---- random random at.5165 ---- random random at.5165 ----... (2 Replies)
Discussion started by: erick_tuk
2 Replies

6. Shell Programming and Scripting

Finding Minimum value per Row range of data

Here is an example of a file I am working with: C 4704 CB 1318 ASP 115 BGRF 1 weak 0.0% 4.33 C 4720 OD 1322 ASP 115 BGRF 1 weak 0.0% 3.71 O 4723 OD 1322 ASP 115 BGRF 1 weak 0.0% 3.48 O 4723 CG 1321 ASP 115 BGRF 1 weak 0.0% 4.34... (3 Replies)
Discussion started by: userix
3 Replies

7. Shell Programming and Scripting

Finding Overlap between two sets of data

Hi everyone, I posted this earlier, but the idea changed since then and I figured it would make more sense if I repost with a clearer idea in hopes someone can help me out. I have two lists of data in file1 and file 2 file1 (tab separated - column1 column2 column 3) 1 91625106 ... (1 Reply)
Discussion started by: labrazil
1 Replies

8. Shell Programming and Scripting

finding null records in data file

I am having a "|" delimited flat file and I have to pick up all the records with the 2nd field having null value. Please suggest. (3 Replies)
Discussion started by: dsravan
3 Replies

9. Shell Programming and Scripting

finding data in a file

Hello, I am new to shell programming, and Unix development overall. I have a following text file with the following contents: .. Sunny Monday: x Tuesday: x Wednesday: x Thursday: x Friday: x Cloudy Monday: x Tuesday: x Wednesday: x ... (11 Replies)
Discussion started by: Selma
11 Replies

10. Shell Programming and Scripting

Finding duplicate data in a file

A pogram named LOGGEDON returns an output of: Ref_num IP Address Logged on User 12000 10.10.12.12 12-02-2002 11:00 john 12004 10.10.12.13 12-03-2002 14:00 mary 12012 10.10.12.14 12-03-2002 11:30 bob 12024 ... (1 Reply)
Discussion started by: dinplant
1 Replies

Featured Tech Videos