关于linux的shell的正则表达式,如何在输入的变量一组字符中提取第一个非数字字符!求解答

一组数字里面,要求提取输入的变量中的第一个非数字的character。如何做到这个。
比如说 :1 2 9 8 a p i这一组数字中我需要提取a,这个如何实现
#!/bin/bash
read -p number
echo $number | grep [^0-9+-] > /dev/null
if [ $? -eq 0 ] ; then
for number in $number
do
echo number
done
else
echo "this is a number string"
fi
小弟无论是用for循环还是不用它都只输出的是最后一个字符,如上例就只输出i,而不是a。如何解决,求指点

echo "$number"|sed -r 's/^[^[:alpha:]]*([[:alpha:]]).*$/\1/g'

温馨提示:答案为网友推荐,仅供参考
第1个回答  2013-11-25
这样?
echo "1 2 9 8 a p i"|sed 's/[0-9]//g'|awk '{print $1}'
相似回答