предполагается, что расширение всегда .dat
filedat=$(dirname -- "$1")/$(basename -- "$1" .dat).dat
, где
$ 1
- аргумент $ (dirname - "$ 1")
выберет имя каталога (dirname ../foo /bar/baz.dat)
=> ../ foo / bar
$ (basename - "$ 1" .dat)
отключит необязательный .dat $ (basename foo .dat .dat)
=> foo
, $ (базовое имя foo .dat)
=> foo