当前位置: 技术问答>linux和unix
Shell脚本字符串的处理问题!
来源: 互联网 发布时间:2016-08-26
本文导语: 在一个shell里,有一个字符串变量 VAR = “ABCE123?AE" 怎么在shell里判断该变量里有?字符? 请高手指点! | echo $VAR | grep "?" | 首先LZ的定义是错误的, ?作为一个通配符,代...
在一个shell里,有一个字符串变量 VAR = “ABCE123?AE"
怎么在shell里判断该变量里有?字符?
请高手指点!
怎么在shell里判断该变量里有?字符?
请高手指点!
|
echo $VAR | grep "?"
|
首先LZ的定义是错误的,
?作为一个通配符,代表任一个字符,
VAR变量并不包含?
?作为普通字符使用为?或者为'?'
VAR=ABCE123'?'AE
或VAR=ABCE123?AE
echo $VAR|grep ? >/dev/null
if [ $? -eq 0 ]; then
echo it has ?
fi
?作为一个通配符,代表任一个字符,
VAR变量并不包含?
?作为普通字符使用为?或者为'?'
VAR=ABCE123'?'AE
或VAR=ABCE123?AE
echo $VAR|grep ? >/dev/null
if [ $? -eq 0 ]; then
echo it has ?
fi
|
可以不用转义.
楼上的可以去试一下
VAR = “ABCE123?AE"
if echo #{VAR} | grep "?" > /dev/null 2>&1
then
echo "该字符里面有问号"
else
echo "没有"
fi
------------
$if echo "abc" | grep "?"
> then
> echo "y"
> else
> echo "no"
> fi
no
$if echo "acb?" | grep "?"
> then
> echo "y"
> else
> echo "no"
> fi
acb?
y
楼上的可以去试一下
VAR = “ABCE123?AE"
if echo #{VAR} | grep "?" > /dev/null 2>&1
then
echo "该字符里面有问号"
else
echo "没有"
fi
------------
$if echo "abc" | grep "?"
> then
> echo "y"
> else
> echo "no"
> fi
no
$if echo "acb?" | grep "?"
> then
> echo "y"
> else
> echo "no"
> fi
acb?
y
|
VAR =“ABCE123?AE"
echo $VAR | awk '{temp=$0;idx=index(temp,"?");print idx;}'
可以看输出结果是什么,如果查找到,则返回非0
echo $VAR | awk '{temp=$0;idx=index(temp,"?");print idx;}'
可以看输出结果是什么,如果查找到,则返回非0