Shell 施用正则表达式
Shell 使用正则表达式
方法一:
我自己想到一个方法:
expr "$var" : 'A'
如果以A开头返回1,否则返回零
如果我要验证的是一个特殊字符呢?例如说:/
read var
expr "$var" : "^V"
显然是不行的,如这个^V应该在哪儿用呢?
shell脚本变量,变量中数据遇到#后就保存到另一个变量中举例:
最佳答案
像这个应该是把数据分割后用数组来保存的,如用awk方法
方法一:
echo $VAR | grep -q '^A' && command....方法二:
case $VAR in A*) command .... ;; esac
我自己想到一个方法:
expr "$var" : 'A'
如果以A开头返回1,否则返回零
如果我要验证的是一个特殊字符呢?例如说:/
read var
expr "$var" : "^V"
显然是不行的,如这个^V应该在哪儿用呢?
shell脚本变量,变量中数据遇到#后就保存到另一个变量中举例:
$path=192.168.0.128#100#/etc/passwd#保存到3个变量中a,b,c $a=192.168.0.128 $b=100 $c=/etc/passwd如何实现,给个代码就行
最佳答案
像这个应该是把数据分割后用数组来保存的,如用awk方法
# a=(`echo $path | awk -F# '{for(i=1;i<=NF;i++)print $i }'`) # echo ${a[0]} 192.168.0.128 # echo ${a[1]} 100 # echo ${a[2]} /etc/passwd path1=192.168.0.128#100#/etc/passwd# $a=`echo $path1 | awk -F"#" '{print $1}'` $b=`echo $path1 | awk -F"#" '{print $2}'` $c=`echo $path1 | awk -F"#" '{print $3}'`