Parece que o script foi escrito para FreeBSD .
-f input_fmt
: Useinput_fmt
as the format string to parse the new_date provided rather than using the default[[[[[cc]yy]mm]dd]HH]MM[.ss]
format. Parsing is done usingstrptime(3)
.-j
: Do not try to set the date. This allows you to use the-f
flag in addition to the+
option to convert one date format to another.
Estas são extensões fora do padrão do comando padrão date
, que só pode formatar o data atual. No Linux (ou Cygwin) ou qualquer outro sistema com data GNU, você pode usar a opção -d
se estiver disposto a passar um formato de data diferente:
TARGET=$(date -d "$1" +%s)
e chame o script como, por exemplo, %código%. Para uma análise mais sofisticada, pré-processe a string no shell primeiro ou chame Perl ou Python:
TARGET=$(IFS=/_:; set $1; date +%S $(($2*10000000000+$1*100000000+
$4*1000000+$5*10000+$1)))
TARGET=$(perl -l -e '($day,$month,$year,$h,$m) = split(/[^0-9]+/, $ARGV[0]); print mktime(0, $m, $h, $day, $month, $year-1900)' "$1")
TARGET=$(python -c '
import sys, time;
print time.strftime("%s", time.strptime(sys.argv[1], "%d/%m/%Y_%H:%M"))
' "$1")