convertir timestamp a la época con bash builtin printf

Al investigar un enfoque diferente para convertir una timestamp como

2015-09-08 11:07:35

a

1441703255

Encontré muchas soluciones que se encuentran bastante comúnmente, por ejemplo, uso

date +%s --date "2015-09-08 11:07:35" 

awk, perl o soluciones similares.

Sin embargo, la respuesta de conversión SE parece usar printf para esa conversión en una versión de bash "más reciente".

Como esto se va a usar en un script con algunas limitaciones, prefiero no tener que confiar en la date para eso, sino en un enfoque que podría ser más rápido. Mis bashs relevantes hasta el momento:

 printf '%(%s)2015-09-08 11:07:35' bash: printf: warning: `2': invalid time format specification printf '%(%s)T' "2015-09-08 11:07:35" bash: printf: 2015-09-08 11:07:35: invalid number 

Parece que no puedo usar printf correctamente ya que no tengo el manual exacto donde se describe la cadena dateformat. La página de manual e info coreutils 'printf invocation' no me ayudó a resolver este problema.

La versión bash es

 bash --version GNU bash, Version 4.3.11(1)-release (x86_64-pc-linux-gnu) 

La otra pregunta específicamente pregunta cómo "get el time actual en segundos desde la Época". El formatting de date y los arguments se describen en el manual de bash (desplácese hacia abajo para printf ):

  % (datefmt) T 

Hace que printf muestre la cadena de date y hora resultante de utilizar datefmt como una cadena de formatting para strftime (3). El argumento correspondiente es un número integer que representa el número de segundos desde la época. Se pueden usar dos valores de argumento especiales: -1 representa la hora actual, y -2 representa el momento en que se invocó el intérprete de commands. Si no se especifica ningún argumento, la conversión se comporta como si se hubiera dado -1 . Esta es una exception al comportamiento habitual de printf .

Entonces, el argumento tiene que ser un número integer de segundos desde epoch¹ (por ejemplo, vea la respuesta a "Cómo convierto una timestamp de época a un formatting legible para humanos" ).


¹ A less que use los valores especiales ( -1 o -2 ) o ningún argumento (y en ese caso por defecto es -1 )