Que tal usar a expansão do parâmetro bash?
$ var=20180402
$ echo "${var::4}-${var:4:2}-${var:6}"
2018-04-02
Eu preciso alterar uma string de data do formato AAAAMMDD para data AAAA-MM-DD sem usar o comando date -d. A única opção que encontrei é manipulação de strings.
Tags date shell-script