xenial (1) dateutils.dgrep.1.gz

Provided by: dateutils_0.3.1-1.1_amd64 bug

NAME

       dgrep - Grep standard input for lines that match EXPRESSION.

SYNOPSIS

       dgrep [OPTION]... EXPRESSION

DESCRIPTION

       Grep standard input for lines that match EXPRESSION.

       EXPRESSION  may be date/times prefixed with an operator `<', `<=', '=', '>=', which will match lines with
       date/times which are older, older-equal, equal, newer-equal, newer, or not equal respectively.

       EXPRESSION may also be format specifiers infixed by  above  operators  and  suffixed  by  a  value  (e.g.
       `%a="Wed"') which matches lines whose %a representation (weekday name abbreviated) is "Wed".

       EXPRESSION  may  be  statements  as  described  above concatenated through `&&' (for conjunction) or `||'
       (disjunction), both of which may be parenthesised as per usual  to  change  precedence  (`&&'  goes  over
       `||').

       If  multiple date/times occur on the same line and any one of them fulfills the criteria then the line is
       considered a match and will be output.

       Note:
         Operations can be specified by options (--eq, --gt, ...) as well.
         This serves solely as a means of convenience, e.g. the dtest tool has a
         similar syntax.

       Recognized OPTIONs:

       -h, --help
              Print help and exit

       -V, --version
              Print version and exit

       -q, --quiet
              Suppress message about date/time and duration parser errors.

       -i, --input-format=STRING...
              Input format, can be used multiple times.  Each date/time will  be  passed  to  the  input  format
              parsers  in  the  order they are given, if a date/time can be read successfully with a given input
              format specifier string, that value will be used.

       -e, --backslash-escapes
              Enable interpretation of backslash escapes in the output and input format specifier strings.

       -o, --only-matching
              Show only the part of a line matching DATE.

       -v, --invert-match
              Select non-matching lines.

       --from-zone=ZONE
              Consider date/times on stdin as coming from the zone ZONE, default: UTC.

       -z, --zone=ZONE
              Consider date/times in EXPRESSION as coming from the zone ZONE, default: UTC.

       --eq   Lines match when date/times are equal to EXPRESSION.

       --ne   Lines match when date/times are not the same as EXPRESSION.

       --gt   Lines match when date/times are newer than EXPRESSION.

       --lt   Lines match when date/times are older than EXPRESSION.

       --ge   Lines match when date/times are newer than or equal EXPRESSION.

       --le   Lines match when date/times are older than or equal EXPRESSION.

       --nt   Lines match when date/times are newer than or equal EXPRESSION.

       --ot   Lines match when date/times are older than or equal EXPRESSION.

FORMAT SPECS

       Format specs in dateutils are similar to posix' strftime().

       However, due to a broader range of supported calendars dateutils must employ different rules.

       Date specs:
         %a  The abbreviated weekday name
         %A  The full weekday name
         %_a The weekday name shortened to a single character (MTWRFAS)
         %b  The abbreviated month name
         %B  The full month name
         %_b The month name shortened to a single character (FGHJKMNQUVXZ)
         %c  The count of the weekday within the month (range 00 to 05)
         %C  The count of the weekday within the year (range 00 to 53)
         %d  The day of the month, 2 digits (range 00 to 31)
         %D  The day of the year, 3 digits (range 000 to 366)
         %F  Equivalent to %Y-%m-%d (ymd's canonical format)
         %j  Equivalent to %D
         %m  The month in the current calendar (range 00 to 19)
         %Q  The quarter of the year (range Q1 to Q4)
         %q  The number of the quarter (range 01 to 04)
         %s  The number of seconds since the Epoch.
         %u  The weekday as number (range 01 to 07, Sunday being 07)
         %U  The week count,  day of week is Sun (range 00 to 53)
         %V  The ISO week count,  day of week is Mon (range 01 to 53)
         %w  The weekday as number (range 00 to 06, Sunday being 00)
         %W  The week count,  day of week is Mon (range 00 to 53)
         %y  The year without a century (range 00 to 99)
         %Y  The year including the century
         %Z  The zone offset in hours and minutes (HH:MM) with
             a preceding sign (+ for offsets east of UTC, - for offsets
             west of UTC)

         %Od The day as roman numerals
         %Om The month as roman numerals
         %Oy The two digit year as roman numerals
         %OY The year including the century as roman numerals

         %rs In time systems whose Epoch is different from the unix Epoch, this
             selects the number of seconds since then.
         %rY In calendars with years that don't coincide with the Gregorian
             years, this selects the calendar's year.

         %dth  The day of the month as an ordinal number, 1st, 2nd, 3rd, etc.
         %mth  The month of the year as an ordinal number, 1st, 2nd, 3rd, etc.

         %db The business day of the month (since last month's ultimo)
         %dB Number of business days until this month's ultimo

       Time specs:
         %H  The hour of the day using a 24h clock, 2 digits (range 00 to 23)
         %I  The hour of the day using a 12h clock, 2 digits (range 01 to 12)
         %M  The minute (range 00 to 59)
         %N  The nanoseconds (range 000000000 to 999999999)
         %p  The string AM or PM, noon is PM and midnight is AM.
         %P  Like %p but in lowercase
         %S  The  (range 00 to 60, 60 is for leap seconds)
         %T  Equivalent to %H:%M:%S

       General specs:
         %n  A newline character
         %t  A tab character
         %%  A literal % character

       Modifiers:
         %O  Modifier to turn decimal numbers into Roman numerals
         %r  Modifier to turn units into real units
         th  Suffix, read and print ordinal numbers
         b   Suffix, treat days as business days

       By design dates before 1601-01-01 are not supported.

       For conformity here is a list of calendar designators and their corresponding format string:
         ymd     %Y-%m-%d
         ymcw    %Y-%m-%c-%w
         ywd     %rY-W%V-%u
         bizda   %Y-%m-%db
         lilian     n/a
         ldn        n/a
         julian     n/a
         jdn        n/a

       These  designators  can  be  used  as  output  format  string,  moreover,  @code{lilian}/@code{ldn}   and
       @code{julian}/@code{jdn} can also be used as input format string.

EXAMPLES

         $ dgrep 2012-03-01 <<EOF
         2012-02-28
         2012-02-29
         2012-03-01
         2012-03-02
         EOF
         2012-03-01
         $

         $ dgrep '<2012-03-01' <<EOF
         2012-02-28
         2012-02-29
         2012-03-01
         2012-03-02
         EOF
         2012-02-28
         2012-02-29
         $

         $ dgrep =2012-03-01 <<EOF
         2012-02-28
         2012-02-29
         2012-03-01
         2012-03-02
         EOF
         2012-02-28
         2012-02-29
         2012-03-02
         $

         $ dgrep =2012-03-01 <<EOF
         Feb     2012-02-28
         Feb     2012-02-29     leap day
         Mar     2012-03-01
         Mar     2012-03-02
         EOF
         Mar     2012-03-01
         $

         $ dgrep -o <2012-03-01 <<EOF
         Feb     2012-02-28
         Feb     2012-02-29     leap day
         Mar     2012-03-01
         Mar     2012-03-02
         EOF
         2012-02-28
         2012-02-29
         $

         $ dgrep '>=12:00:00' <<EOF
         fileA   11:59:58
         fileB   11:59:59  leap ?
         fileNOON     12:00:00  new version
         fileC   12:03:12
         EOF
         fileNOON     12:00:00  new version
         fileC   12:03:12
         $

         $ dgrep -o '>=12:00:00' <<EOF
         fileA   11:59:58
         fileB   11:59:59  leap ?
         fileNOON     12:00:00  new version
         fileC   12:03:12
         EOF
         12:00:00
         12:03:12
         $

         $ dgrep 2012-03-01 <<EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         2012-03-01T10:00:00
         2012-03-02T10:00:00
         EOF
         2012-03-01T10:00:00
         $

         $ dgrep '<2012-03-01' <<EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         2012-03-01T10:00:00
         2012-03-02T10:00:00
         EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         $

         $ dgrep 2012-03-01T10:00:00 <<EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         2012-03-01T10:00:00
         2012-03-02T10:00:00
         EOF
         2012-03-01T10:00:00
         $

         $ dgrep '<2012-03-01T14:00:00' <<EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         2012-03-01T10:00:00
         2012-03-02T10:00:00
         EOF
         2012-02-28T10:00:00
         2012-02-29T10:00:00
         2012-03-01T10:00:00
         $

AUTHOR

       Written by Sebastian Freundt <freundt@fresse.org>

REPORTING BUGS

       Report bugs to: https://github.com/hroptatyr/dateutils/issues

SEE ALSO

       The  full  documentation for dgrep is maintained as a Texinfo manual.  If the info and dgrep programs are
       properly installed at your site, the command

              info (dateutils)dgrep

       should give you access to the complete manual.