> On May 11, 2018, at 7:16 PM, Daniel Frey <djqf...@gmail.com> wrote:
> 
> Hi all,
> 
> I am trying to do something relatively simple and I've had something
> working in the past, but my brain just doesn't want to work today.
> 
> I have a text file with the following (this is just a subset of about
> 2500 dates, and I don't want to edit these all by hand if I can avoid it):
> 
> --- START ---
> December 2, 1994
> March 27, 1992
> June 4, 1994
> 1993
> January 11, 1992
> January 3, 1995
> 
> 
> March 12, 1993
> July 12, 1991
> May 17, 1991
> August 7, 1992
> December 23, 1994
> March 27, 1992
> March 1995
> --- END —

While loop in Bash? This is slower but it will do it:

while IFS=$’\n’ read -r line; do
  if [ -z “$line” ]; then echo; fi
  grep -o '\([0-9]\{4\}\)’ <<< “$line”
done < input_file

I would consider using a human date string parsing library in another language, 
such as Python’s datetime where you can specify the formats, loop to check for 
any and if nothing matches output a blank line.

Andrew

Reply via email to