Linux Shell 字符串截取

Shell 调用java程序返回的内容较多,想要获取正确的返回内容,通常需要截取。

假设有变量 VAR='DSADASD{"name":"123","age":"20"}sssslog4j warndasdasdasd'

json串是我们需要的内容

1. # 号截取,删除{左边字符,保留右边字符。

1
echo ${var#*'{'}

 其中 var 是变量名,# 号是运算符,*'{' 表示从左边开始删除第一个 {号及左边的所有字符
结果是 :"name":"123","age":"20"}sssslog4j warndasdasdasd

2. %号截取,删除右边字符,保留左边字符

1
echo ${var%'}'*}

 

%'}'* 表示从右边开始,删除第一个 / 号及右边的字符

结果是:"name":"123","age":"20"


3. 从左边第几个字符开始,及字符的个数

1
echo ${var:0:5}

 

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:

4. 从左边第几个字符开始,一直到结束。

1
echo ${var:7}


5. 从右边第几个字符开始,及字符的个数

1
echo ${var:0-7:3}

6. 从右边第几个字符开始,一直到结束。

1
echo ${var:0-7}
非 {}或者""这种特殊字符,截取标记用""包裹即可,如:

1
echo ${var#*"START"}
echo ${var%'END'*}




评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值