shell字符串处理

Posted

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了shell字符串处理相关的知识,希望对你有一定的参考价值。

shell字符串处理

获取字符串长度 ${#var}

var="www.baidu.com"
echo ${#var}
13

字符串切片 ${var:index:length} 、${var:index} index从0开始

echo ${var:2}  //从下标为2开始,一直截取到结束
w.baidu.com
echo ${var:3:8}  //从下标为3开始截取8个字符
.baidu.c
echo ${var:(-5)}  //截取倒数5个字符
u.com
echo ${var:(-5):3}   //从倒数第5个字符开始截取3个字符
u.c

替换字符串 ${var/old_str/net_str}、${var//old_str/new_str}

echo ${var/www/WWW}
WWW.baidu.com

var="hello,hello,world,world"
echo ${var//hello/HELLO}  //全部替换
HELLO,HELLO,world,world

字符串截取

${var#*delimiter} 以分隔符为临界点(第一个位置),分为左右两段,取右段
${var##*delimiter} 以分隔符为临界点(最后一个位置),分为左右两段,取右段
${var%%delimiter*} 以分隔符为临界点(最后一个位置),分为左右两段,取左段
${var%delimiter*} 以分隔符为临界点(第一个位置),分为左右两段,取左段
[[email protected] ~]# var="http://www.baidu.com//admin/index.php"
[[email protected] ~]# echo ${var#*//}
www.baidu.com//admin/index.php
[[email protected] ~]# echo ${var##*//}
admin/index.php
[[email protected] ~]# echo ${var%%//*}
http:
[[email protected] ~]# echo ${var%//*}
http://www.baidu.com

变量状态赋值

${var:-str} //var变量为空返回str
${var:+str} //var变量不为空返回str
$(var:=str) //var变量为空重新赋值var变量值为str
${var:?str} //var变量为空则str输出到stderr

以上是关于shell字符串处理的主要内容,如果未能解决你的问题,请参考以下文章

CSP核心代码片段记录

片段(Java) | 机试题+算法思路+考点+代码解析 2023

shell选取部分内容

python+spark程序代码片段

逆向及Bof基础实践

201555332盛照宗—网络对抗实验1—逆向与bof基础