Este é um trabalho fácil com awk
:
awk -F'|' '{print >((substr($4,4,2)<=15)?"1-15Aug":"16-31Aug")}' infile
Isso está verificando se o dia do mês em que a data foi ≤15 no campo # 4 irá gravar as linhas no arquivo 1-15Aug
, caso contrário elas serão redirecionadas para o arquivo 16-31Aug
usando a condição Ternary.
A saída seria de 2 arquivos:
==> 1-15Aug <==
a|b|c|08/01/2017|d
a|b|c|08/15/2017|d
==> 16-31Aug <==
a|b|c|08/16/2017|d
a|b|c|08/31/2017|d