Basta especificar o formato de entrada com -f :
$ date -jf '%m/%d/%Y %H:%M:%S %p' '1/30/2017 11:14:55 AM' '+%m/%d/%Y %H:%M:%S'
01/30/2017 11:14:55
O que vai depois de + é o formato output . Se você quiser o tempo de época, isso seria +%s .
(note que não há nada bash -específico nesse código. Esse código seria analisado da mesma forma em qualquer shell, mesmo aqueles não-Bourne-like. date não é um comando bash builtin, aqui é O comando date encontrado no sistema de arquivos, especificamente aquele que suporta as extensões -f / -j BSD Em sistemas não-BSD, esse comando provavelmente não funcionará, independentemente de o shell ser bash ou outro. Alguns shells como zsh ou ksh93 possuem recursos de análise de tempo incorporados, mas não bash )