Delete records that do not belong to that day


 
Thread Tools Search this Thread
Top Forums UNIX for Beginners Questions & Answers Delete records that do not belong to that day
# 1  
Old 10-10-2018
Delete records that do not belong to that day

i have a requirement to delete records that do not belong to that day. For example in a file that came on July 31st ,2018 there are records that belong to Aug 1st,2018 as well and I want to find and delete those records. I want to delete anything with 01-Aug-2018. I have several files like that. I need a script that gets the first line second column that is date and add one day to it and delete that record.in this case all 1st Aug records should be deleted. Thank you in advance for your help.

Code:
a,31-Jul-2018 12:00,14
a,31-Jul-2018 12:01,13
a,31-Jul-2018 12:02,15
a,31-Jul-2018 12:03,19
and so on 
.
.
a,31-Jul-2018 11:59,6  
a,01-Aug-2018 12:00,9
b,31-Jul-2018 12:00,7 
b,31-Jul-2018 12:01,7
b,31-Jul-2018 12:02,6
b,31-Jul-2018 12:03,3
and so on 
.
.
b,31-Jul-2018 11:59,8  
b,01-Aug-2018 12:00,9
c,31-Jul-2018 12:00,7
c,31-Jul-2018 12:01,7
c,31-Jul-2018 12:02,6
 c,31-Jul-2018 12:03,8



Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 10-10-2018 at 07:19 PM.. Reason: Added CODE tags.
# 2  
Old 10-10-2018
Can you post what you've tried to solve this...and what about records that are less than the current date
This User Gave Thanks to shamrock For This Post:
# 3  
Old 10-10-2018
Thank you for looking into this. There will not be records that are less than the date you see in the first row. july 1st file will have july first records and few records with july 2 and i want to delete those july 2 second records. I just tried awk by googling
Code:
awk -F ',' '{print $3}' file1.txt

that gets the first date and i dont know how to add one day to it and delete those records correspoding to it.


Moderator's Comments:
Mod Comment Please use CODE tags as required by forum rules!

Last edited by RudiC; 10-10-2018 at 07:20 PM.. Reason: Added CODE tags.
# 4  
Old 10-10-2018
The possible solutions highly depend on the OS, shell, and tools' (e.g. date or awk) versions that you use. So please post this info.
# 5  
Old 10-10-2018
this is our linux version 2.6.32-696.10.1.el6.x86_64.
# 6  
Old 10-10-2018
Try
Code:
awk -F, 'NR == 1 {("date -d\"" $2 "+1day\" +\"%d-%b-%Y\"") | getline DT} $2 !~ DT' file
a,31-Jul-2018 12:00,14
a,31-Jul-2018 12:01,13
a,31-Jul-2018 12:02,15
a,31-Jul-2018 12:03,19
and so on 
.
.
a,31-Jul-2018 11:59,6  
b,31-Jul-2018 12:00,7 
b,31-Jul-2018 12:01,7
b,31-Jul-2018 12:02,6
b,31-Jul-2018 12:03,3
and so on 
.
.
b,31-Jul-2018 11:59,8  
c,31-Jul-2018 12:00,7
c,31-Jul-2018 12:01,7
c,31-Jul-2018 12:02,6
c,31-Jul-2018 12:03,8

This User Gave Thanks to RudiC For This Post:
# 7  
Old 10-10-2018
Thank you works perfectly appreciate your quick response
Login or Register to Ask a Question

Previous Thread | Next Thread

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Delete file to day

friends how I can delete files from a directory for the current date? (2 Replies)
Discussion started by: tricampeon81
2 Replies

2. Shell Programming and Scripting

To get Non matching records for current day

My objective is to get the non matching records of previous day with current day. eg, file1 contains 1 a 2 b and file2 contains: 2 b 3 c then expected output is 3 c¨ another example file 1 contains: 1 a 2 b file 2 contains 1 c 2 b (8 Replies)
Discussion started by: newbie2014
8 Replies

3. Shell Programming and Scripting

Delete the records from table

Hi, Can any one help me... the records are not deleting when I run the below script. But if I issue the same delete command manually, the records are getting deleted. script: #!/bin/ksh USAGE_STRING="USAGE $0 " if then echo "SORRY you need to be user 'mqm'. Only 'mqm' has... (5 Replies)
Discussion started by: zxcjggu708
5 Replies

4. Shell Programming and Scripting

How to delete subdirectories that are more than 1 day old AND have NO files on them

Hi Experts , At a particular dir , How to delete subirectories that are more than 1 day old AND have NO files in them. PS : -empty option is not working at my Sun OS version. Thanks, A (6 Replies)
Discussion started by: ajaypatil_am
6 Replies

5. Shell Programming and Scripting

How to delete files which more than one Day old?

I have a directory /opt/targets which generates more than 1000 files per day and I want to delete all the files which are more than 1 day old...ie 24hrs+ Please help.. (3 Replies)
Discussion started by: sunilrk07
3 Replies

6. UNIX and Linux Applications

How to delete files with no records?

Hi, I have a file whose size is not zero but it has no records and another which has records. I want to delete all the files that have no records in it (even if size > 0). How do I do it? I have tried the below option #!/bin/ksh temp1 = $(wc -l < INVX102C.sf) if ; then echo "Data... (3 Replies)
Discussion started by: sangharsh
3 Replies

7. Shell Programming and Scripting

Not able to delete the files in day wise...

Dear All, I am not able to remove the files in my AIX 5.3 server. My files List /iims-home/data/uat1/batch/staging -rw-r--r-- 1 iims iims 5743 Jun 12 09:04 ErrorReport2008-05-20 09-04-18.doc -rw-r--r-- 1 iims iims 191213683 Jun 12 09:05... (1 Reply)
Discussion started by: bvijaycom
1 Replies

8. Shell Programming and Scripting

delete records from a file

I have a big file with "|" delimiter. I want to delete all the records that have 'abc' in the 2nd field. How can i do that? I am not abe to open it in VI that is why i need to do it from outside. Please suggest (6 Replies)
Discussion started by: dsravan
6 Replies

9. Shell Programming and Scripting

Hai delete the records

Hai all i want to grep the particular pattern and move the mathing records to torget file and delete the matching recodrs from source file. patterns are position based, like 13413432,aaaaaaa,dsfdddddd,34234324,22224555 13413432,aaaaaaa,dsfdddddd,12234324,11222455 i want to move the... (1 Reply)
Discussion started by: readycpbala
1 Replies

10. Shell Programming and Scripting

delete files one day old in current month only

i want to delete files that are one day old condition is files should be of current month only ie if iam running script on 1 march it should not delete files of 28 feb(29 if leap year :-)} any modifications to find $DIR -type f -atime +1 -exec rm -f{}\; (4 Replies)
Discussion started by: maverick
4 Replies
Login or Register to Ask a Question