linux bash - fecha de análisis en formato personalizado

Tengo una cita en el%c formato(podria ser cualquier otro) y necesito usarlo en el comando date.%c NO es el formato americano. Es el alemán porque es un servidor alemán. Esto tampoco funcionó correctamente en un servidor americano. (Locales establecidos en alemán o americano)

Esto no funciona (error incluido):

user@server:~$ NOW=$(date +%c); echo $NOW
Do 19 Dez 2013 22:33:28 CET
user@server:~$ date --date="$NOW" +%d/%m/%Y
date: ungültiges Datum „Do 19 Dez 2013 22:33:28 CET“

(fecha: ungültiges Datum „Do 19 Dez 2013 22:33:28 CET“ =date: invalid date „Do 19 Dez 2013 22:33:28 CET“)

La dificultad es que no sé qué configuración regional o incluso qué formato de fecha se usará más adelante, ya que el usuario puede configurar su propio formato. ¡Así que una solución de análisis simple y simple no va a funcionar realmente!

Pero, ¿cómo lo hago?

Para gerneralizar el tema:

Si tengo un formato de fechaformat1 (que podría ser cualquiera o al menos uno que pueda revertirse) Puedo usar la fecha para obtener una fecha formateada. Pero si quiero formatearlo para otra fecha (format2) ¿cómo lo hago?
Cualquier solución que use algo más que los coreutils no tiene sentido, ya que estoy tratando de desarrollar un script bash para la mayor cantidad posible de máquinas UNIX.

DATE=$(date "+$format1")

date --date="$DATE" "+$format2" # Error in most cases!

Esto es necesario porque tengo un comando que el usuario puede dar un formato de fecha. Esta cadena de fecha será mostrada. Pero en un paso posterior, necesito convertir esta cadena de fecha en otra fija. Puedo manipular el formato que recibirá el comando y puedo manipular la salida(o lo que verá el usuario).
No puedo ejecutar el comando dos veces porque consume mucho tiempo.

Actualizar:

He encontrado algo como una solución:

# Modify $user_format so it can be parsed later
user_format="$user_format %s"

# Time consuming command which will print a date in the given format
output=$(time_consuming_command params "$user_format" more params)

# This will only display what $user_format used to be
echo ${output% *}

# A simple unix timestamp parsing ("${output##* }" will only return the timestamp)
new_formated_date=$(date -d "1970-01-01 ${output##* } sec UTC" "+$new_format")

Esto está funcionando y podría ser útil para otros. Así que voy a compartir esto con ustedes.

Respuestas a la pregunta(4)

Su respuesta a la pregunta