Palpite: você tem um alias para ls
que está sendo usado quando você tenta o comando interativamente, e esse alias não é usado no script. Algo assim, talvez?
alias ls="ls --full-time"
Note que a sabedoria convencional diz que tentar analisar ls
é uma má ideia. Supondo que você esteja em uma máquina Linux, algo assim pode ser preferível:
stat "$FILENAME" | awk '/^Modify: /{print $2}'
EDIT: Ou, como Stéphane aponta abaixo, usar find
com -printf
é ainda melhor. A saída de stat
é um pouco mais fácil de prever do que ls
, mas -printf
permite um formato de saída totalmente controlado por você.