Eu assumi que quando você disse X dias a menos do que hoje, você quer dizer arquivos "com mais de 5 dias". Se você quer dizer arquivos exatamente 5 dias, o script abaixo precisaria ser modificado para deixar cair o carimbo de tempo mais provável e -se poderia ser substituído por -eq
#!/bin/bash
CUTOFF=$(date +%s -d "5 days ago")
while read p; do
time=$(echo $p | awk -F'[ ,]' '{print $2" "$3}')
epoch_time=$(date --date="$time" +%s)
if [ $epoch_time -lt $CUTOFF ]; then
echo $p
fi;
done <response.txt
O item acima carregará o arquivo response.txt e fará um loop em cada linha do arquivo. O awk está analisando por espaço e vírgula em colunas separadas e, em seguida, imprimindo a data e a hora. Depois disso (provavelmente poderia ser feito na mesma linha), ele converte a data / hora em um tempo de época em segundos. Depois disso, é uma questão simples de comparar o tempo de corte em segundos ao tempo de arquivo por meio de uma instrução if.
Os itens acima só imprimirão arquivos mais antigos que 5 dias .