Sponsored Content
Full Discussion: Issue searching for Date
Top Forums Shell Programming and Scripting Issue searching for Date Post 302398698 by Pablo_beezo on Thursday 25th of February 2010 10:09:42 AM
Old 02-25-2010
Issue searching for Date

I have an issue regarding searching for old dates.

At the moment I search a field within a file for the last 3 days from the system date:

using today as 25/02/2010

Code:
DD=$(expr `date +%d` - 1)
DD1=$(expr `date +%d` - 2)
DD2=$(expr `date +%d` - 3)
MTH=`date +"%m"`
YR=`date +"%Y"`
DATE="$DD/$MTH/$YR"
DATE1="$DD1/$MTH/$YR"
DATE2="$DD2/$MTH/$YR"

this will get me records that have a field:

Code:
24/02/2010
23/02/2010
22/02/2010

I run this everyday how can can i get the last 3 days if it is between months:

the date is 01/03/2010

How can i get the following records with:

Code:
28/02/2010
27/02/2010
26/02/2010

any help would be appreciated

Last edited by Scott; 02-25-2010 at 11:47 AM.. Reason: Code tags, please...
 

10 More Discussions You Might Find Interesting

1. Shell Programming and Scripting

Shell Script for searching files with date as filter

Hi , Assume today's date is 10-May-2002. I want to get a list of files which were last modified since 01-May-2002. If I run the script after 5 days, it should still list me the files modified from 01-May-2002 till today. I also plan to pass the date 01-May-2002 as an argument to the shell script... (3 Replies)
Discussion started by: kanakaraj_s
3 Replies

2. UNIX for Advanced & Expert Users

date issue-find prevoius date in a patricular format

Hi , I have written a shell script that takes the current date on the server and stores it in a file. echo get /usr/home/data-`date '+%Y%d'`.xml> /usr/local/sandeep/GetFILE.ini I call this GetFILE.ini file from an sftp program to fetch a file from /usr/home/ as location. The file is in... (3 Replies)
Discussion started by: bsandeep_80
3 Replies

3. UNIX for Dummies Questions & Answers

searching a file by date...

It's possible to use "find" to search a file that was modified for example between 5/10/2004 and 7/11/2005? How can i do this? I saw there is option -mtime, but i don't understand how to use it in this case. Thanks (4 Replies)
Discussion started by: Kaminski
4 Replies

4. Shell Programming and Scripting

searching a date and replacing with another date

I have a text file that i want to search through and pick out any dates that are formatted like MM/DD/YYYY and replace them with a date i want like 10/29/2009. any idea show i would do this?:) Snapshot of my text file: test4>s44syd5172>070>528>ENU>nongnuan>wanrawee>sr2330532>... (7 Replies)
Discussion started by: infiant
7 Replies

5. UNIX for Dummies Questions & Answers

Searching the date pattern in a file

Hi, I would like to search the pattern based on the date like "2010/08/15". I tried using / in the file giving /<<pattern>>. when i tried this it turns to /2010/+8, but not going to the pattern what ever i want. This is how the data in the file. INFO | jvm 1 | 2010/05/26 13:30:33... (5 Replies)
Discussion started by: venkatesht
5 Replies

6. UNIX for Dummies Questions & Answers

Searching by date range from filenames

Hello all, i have tons of files in folder named like this (yyyymmdd): bookcollection20100729 bookcollection20100730 bookcollection20100731 bookcollection20100801 bookcollection20100802 etc. I need to find files with date range in there names lets say from 2010.07.30 - 2010.08.02 ... (10 Replies)
Discussion started by: Whit3H0rse
10 Replies

7. Shell Programming and Scripting

Awk script searching patterns issue

Hi I am having a file like this FILE1 ##################### C16ROTINV_ REFCLK_RXL RXBCLK32_R REFCLK_TXL CLK8_TXLIN RXBCLK32_R DCLK_TXLIN CLK32D_TXL RXACLK32_R ##################### (3 Replies)
Discussion started by: jaita
3 Replies

8. UNIX for Dummies Questions & Answers

Searching for multiple words on a line in any order issue

Hi again I have figured out how to be able to sort through lines in a file with multiple words in any order and display them using this command: cat file | grep -i $OPTION1 | grep -i $OPTION2 | grep -i $OPTION3 OPTION1 is 2008, OPTION2 is Mar, OPTION 3 is Tue Result: Tue Mar 25... (4 Replies)
Discussion started by: semaj
4 Replies

9. Shell Programming and Scripting

Searching for unknown date inside the file and replace to new date

Hello, Iam a newbies to Shell scripting. Iam trying to replace the date inside the file to new date. is there anyway that we can just use the pattern to search as "..." I have many files want to replace with the same date, and each file contains different date. Thanks for your help. ... (2 Replies)
Discussion started by: Daro
2 Replies

10. UNIX for Beginners Questions & Answers

Searching for a files based on current date directory

Hi All, I've been trying to do some recursive searching but not been very successful. Can someone please help. Scenario: I have directory structure /dir1/dir2/dir3/ 2019/ 11/ 17 18 19 20 so what I want to do is run a script and as its 2019/11/18/ today it would go and only search... (3 Replies)
Discussion started by: israr75
3 Replies
PICK(1) 							     [nmh-1.5]								   PICK(1)

NAME
pick - search for messages by content SYNOPSIS
pick [+folder] [msgs] [-and ...] [-or ...] [-not ...] [-lbrace ... -rbrace] [--component pattern] [-cc pattern] [-date pattern] [-from pattern] [-search pattern] [-subject pattern] [-to pattern] [-after date] [-before date] [-datefield field] [-sequence name ...] [-public | -nopublic] [-zero | -nozero] [-list | -nolist] [-version] [-help] typical usage: scan `pick -from jones` pick -to holloway -sequence select show `pick -before friday` DESCRIPTION
Pick searches within a folder for messages with the specified contents, and then identifies those messages. Two types of search primitives are available: pattern matching and date constraint operations. A modified grep(1) is used to perform the matching, so the full regular expression (see ed(1)) facility is available within pattern. With -search, pattern is used directly, and with the others, the grep pattern constructed is: `component[ ]*:.*pattern' This means that the pattern specified for a -search will be found everywhere in the message, including the header and the body, while the other pattern matching requests are limited to the single specified component. The expression `--component pattern' is a shorthand for specifying `-search "component[ ]*:.*pattern" ' It is used to pick a component which is not one of "To:", "cc:", "Date:", "From:", or "Subject:". An example is "pick --reply-to pooh". Pattern matching is performed on a per-line basis. Within the header of the message, each component is treated as one long line, but in the body, each line is separate. Lower-case letters in the search pattern will match either lower or upper case in the message, while upper case will match only upper case. Note that since the -date switch is a pattern matching operation (as described above), to find messages sent on a certain date the pattern string must match the text of the "Date:" field of the message. Independent of any pattern matching operations requested, the switches -after date or -before date may also be used to introduce date/time constraints on all of the messages. By default, the "Date:" field is consulted, but if another date yielding field (such as "BB-Posted:" or "Delivery-Date:") should be used, the -datefield field switch may be used. With -before and -after, pick will actually parse the date fields in each of the messages specified in `msgs' and compare them to the date/time specified. If -after is given, then only those messages whose "Date:" field value is chronologically after the date specified will be considered. The -before switch specifies the complimentary action. Both the -after and -before switches take legal 822-style date specifications as arguments. Pick will default certain missing fields so that the entire date need not be specified. These fields are (in order of defaulting): timezone, time and timezone, date, date and time- zone. All defaults are taken from the current date, time, and timezone. In addition to 822-style dates, pick will also recognize any of the days of the week ("sunday", "monday", and so on), and the special dates "today", "yesterday" (24 hours ago), and "tomorrow" (24 hours from now). All days of the week are judged to refer to a day in the past (e.g., telling pick "saturday" on a "tuesday" means "last saturday" not "this saturday"). Finally, in addition to these special specifications, pick will also honor a specification of the form "-dd", which means "dd days ago". Pick supports complex boolean operations on the searching primitives with the -and, -or, -not, and -lbrace ... -rbrace switches. For example, pick -after yesterday -and -lbrace -from freida -or -from fear -rbrace identifies messages recently sent by "frieda" or "fear". The matching primitives take precedence over the -not switch, which in turn takes precedence over -and which in turn takes precedence over -or. To override the default precedence, the -lbrace and -rbrace switches are provided, which act just like opening and closing parenthe- ses in logical expressions. If no search criteria are given, all the messages specified on the command line are selected (this defaults to "all"). Once the search has been performed, if the -list switch is given, the message numbers of the selected messages are written to the standard output separated by newlines. This is extremely useful for quickly generating arguments for other nmh programs by using the "backquoting" syntax of the shell. For example, the command scan `pick +todo -after "31 Mar 83 0123 PST"` says to scan those messages in the indicated folder which meet the appropriate criterion. Note that since pick's context changes are writ- ten out prior to scan's invocation, you need not give the folder argument to scan as well. The -sequence name switch may be given once for each sequence the user wishes to define. For each sequence named, that sequence will be defined to mean exactly those messages selected by pick. For example, pick -from frated -seq fred defines a new message sequence for the current folder called "fred" which contains exactly those messages that were selected. By default, pick will zero the sequence before adding it. This action can be disabled with the -nozero switch, which means that the mes- sages selected by pick will be added to the sequence, if it already exists, and any messages already a part of that sequence will remain so. The -public and -nopublic switches are used by pick in the same way mark uses them. FILES
$HOME/.mh_profile The user profile PROFILE COMPONENTS
Path: To determine the user's nmh directory Current-Folder: To find the default current folder SEE ALSO
mark(1) DEFAULTS
`+folder' defaults to the current folder `msgs' defaults to all `-datefield date' `-zero' `-list' is the default if no `-sequence', `-nolist' otherwise CONTEXT
If a folder is given, it will become the current folder. HISTORY
In previous versions of MH, the pick command would show, scan, or refile the selected messages. This was rather "inverted logic" from the UNIX point of view, so pick was changed to define sequences and output those sequences. Hence, pick can be used to generate the arguments for all other MH commands, instead of giving pick endless switches for invoking those commands itself. Also, previous versions of pick balked if you didn't specify a search string or a date/time constraint. The current version does not, and merely matches the messages you specify. This lets you type something like: show `pick last:20 -seq fear` instead of typing mark -add -nozero -seq fear last:20 show fear Finally, timezones used to be ignored when comparing dates: they aren't any more. HELPFUL HINTS
Use "pick sequence -list" to enumerate the messages in a sequence (such as for use by a shell script). BUGS
The argument to the -after and -before switches must be interpreted as a single token by the shell that invokes pick. Therefore, one must usually place the argument to this switch inside quotes. Furthermore, any occurrence of -datefield must occur prior to the -after or -before switch it applies to. If pick is used in a back-quoted operation, such as scan `pick -from jones` and pick selects no messages (e.g., no messages are from "jones"), then the shell will still run the outer command (e.g., scan). Since no messages were matched, pick produced no output, and the argument given to the outer command as a result of backquoting pick is empty. In the case of nmh programs, the outer command now acts as if the default `msg' or `msgs' should be used (e.g., "all" in the case of scan). To prevent this unexpected behavior, if -list was given, and if its standard output is not a tty, then pick outputs the illegal message number "0" when it fails. This lets the outer command fail gracefully as well. The pattern syntax "[l-r]" is not supported; each letter to be matched must be included within the square brackets. MH.6.8 11 June 2012 PICK(1)
All times are GMT -4. The time now is 04:48 PM.
Unix & Linux Forums Content Copyright 1993-2022. All Rights Reserved.
Privacy Policy