Você descartou o echo
:
for filename in OH/*
do
result=$(echo $filename | grep -Eo '[[:digit:]]{14}')
echo "$result"
done;
ou melhor ainda ,
for filename in OH/*
do
result=$(printf %s "$filename" |grep -Eo '[[:digit:]]{14}')
echo "$result"
done;
ou
for filename in OH/*
do
result=$(grep -Eo '[[:digit:]]{14}' <<<"$filename")
echo "$result"
done;