Use grep
, se combinado significa que é válido:
grep -P '^[0-9]+(\.[0-9]+)?$' infile.txt
A regex acima pode ser usada em sed
ou awk
ou qualquer comando.
sed -n -Ee '/^[0-9]+(\.[0-9]+)?$/p'
awk '/^[0-9]+(\.[0-9]+)?$/'
Aqui também está verificando se o arquivo corresponde a este regex ou não.
awk '/^[0-9]+(\.[0-9]+)?$/{print "matched";exit} {print "not-matched";exit}' file