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

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了关于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'

参考技术A 这样?
echo "1 2 9 8 a p i"|sed 's/[0-9]//g'|awk 'print $1'

以上是关于关于linux的shell的正则表达式,如何在输入的变量一组字符中提取第一个非数字字符!求解答的主要内容,如果未能解决你的问题,请参考以下文章

如何在 linux shell 脚本中使用正则表达式搜索文件 [关闭]

如何在 linux shell 中使用正则表达式从文件中提取 IP 地址?

Linux Shell正则表达式如何匹配1~3位数字

在linux的shell语言中,怎样用正则表达式来截取字符串?

linux基础:shell中的正则表达式用法大全

linux基础:shell中的正则表达式用法大全