abc.out
def.out
# input_file:
abc.out abc.out abc.out
def.out def.out
def.out
sed -i 's/.out//g' input_file
var1="abc.out"
var1=${var1%.out}
echo "$var1"
abc
$ foo=abc.def.out
$ echo ${foo%.out}
abc.def
$ echo ${foo%.*}
abc.def
$ echo ${foo%%.*}
abc
$ basename a.out .out
a
echo ${str%.*}
echo $str | grep -o '^[^.]*'
echo $str | sed -E 's/(.*?)..*/1/'
echo $str | awk -F. '{print $1}'
abc