На ум приходит пара решений. Некоторые из них обрабатывают пустые строки правильно, другие нет. Тривиально удалить их, используя grep -v '^$'
или sed '/^$/d'
.
СЭД
sed 's|.*(\([0-9]\+\).*|\1|' input
AWK
awk -F'[()]' '/./{print $2}' input
2
3
65
1245
3
чистый удар
#!/bin/bash
IFS="()"
while read a b; do
if [ -z $b ]; then
continue
fi
echo $b
done < input
и, наконец, используя tr
cat input | tr -d '[a-z()]'