Shell 使用正则表达式

本文介绍了Shell脚本中变量的几种处理方法,包括使用grep、case语句和expr进行字符串匹配,以及如何通过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}'`
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值