Hello, I have a file like:
26-07-2011 sunz02 [ OK ] message1
26-07-2011 sunz02 [ OK ] message2
26-07-2011 sunz02 [ OK ] message3
15-07-2011 sunz02 [ OK ] message1
15-07-2011 sunz02 [ OK ] message2
15-07-2011 sunz02 [ OK ] message3
14-07-2011 sunz02 [ OK ] message1
14-07-2011 sunz02 [ OK ] message2
14-07-2011 sunz02 [ OK ] message3
And I want to delete all lines whose date is 10+ days (in bash)
Thank you
awk -F'[ -]' -vv=$(date +%Y%m%d) 'v-($3$2$1)<10' file
It does not work properly when the date of today is in the range of the first days of a month/year.
---------- Post updated 27-07-11 at 12:05 AM ---------- Previous update was 26-07-11 at 01:57 PM ----------
There has to be some way to do that comparing dates or something..
This should work
# awk -F'[ -]' -vv=$(date --date='11 day ago' +%Y%m%d) '($3$2$1)>v' file
26-07-2011 sunz02 [ OK ] message1
26-07-2011 sunz02 [ OK ] message2
26-07-2011 sunz02 [ OK ] message3
# uname -a
Linux test.hotspot 2.6.25.20 #1 SMP Thu May 14 23:12:00 CEST 2009 i686 GenuineIntel unknown GNU/Linux
Ops, this should work
# awk -F'[ -]' '($3$2$1)>"'$(date --date='11 day ago' +%Y%m%d)'"' file
26-07-2011 sunz02 [ OK ] message1
26-07-2011 sunz02 [ OK ] message2
26-07-2011 sunz02 [ OK ] message3
# uname -a
Linux test.hotspot 2.6.25.20 #1 SMP Thu May 14 23:12:00 CEST 2009 i686 GenuineIntel unknown GNU/Linux
It does not work under AIX:
# uname -a
AIX test 3 5 00020591D600
# cat prueba2
26-07-2011 sunz02 [ OK ] message1
26-07-2011 sunz02 [ OK ] message2
26-07-2011 sunz02 [ OK ] message3
24-07-2011 sunz02 [ OK ] message1
24-07-2011 sunz02 [ OK ] message2
24-07-2011 sunz02 [ OK ] message3
15-07-2011 sunz02 [ OK ] message1
15-07-2011 sunz02 [ OK ] message2
15-07-2011 sunz02 [ OK ] message3
14-07-2011 sunz02 [ OK ] message1
14-07-2011 sunz02 [ OK ] message2
14-07-2011 sunz02 [ OK ] message3
# awk -F'[ -]' '($3$2$1)>"'$(date --date='11 day ago' +%Y%m%d)'"' prueba2
date: Not a recognized flag: -
Usage: date [-u] [+"Field Descriptors"]
26-07-2011 sunz02 [ OK ] message1
26-07-2011 sunz02 [ OK ] message2
26-07-2011 sunz02 [ OK ] message3
24-07-2011 sunz02 [ OK ] message1
24-07-2011 sunz02 [ OK ] message2
24-07-2011 sunz02 [ OK ] message3
15-07-2011 sunz02 [ OK ] message1
15-07-2011 sunz02 [ OK ] message2
15-07-2011 sunz02 [ OK ] message3
14-07-2011 sunz02 [ OK ] message1
14-07-2011 sunz02 [ OK ] message2
14-07-2011 sunz02 [ OK ] message3
#