Вы можете переформатировать дату в более удобный (и менее двусмысленный )формат ГГГГ/мм/дд и использовать сравнение строк.
awk -v date_column=8 '
{date = substr($date_column, 7, 4)"/"substr($date_column, 1, 5)}
date >= "2018/01/01" && date <= "2018/12/31"'
Если у вас есть GNU grep с установленным режимом Perl, это может сгенерировать пароль в соответствии с ограничениями.
$ < /dev/urandom \
tr -cd '[:alnum:][:punct:]' | fold -w 12 |
grep -Pm1 '(?=.*[[:upper:]].*[[:upper:]])(?=.*[[:digit:]].*[[:digit:]])(?=.*[[:punct:]])'
A09B?~WR~$#J