shell脚本中常用到字符串截取。做好笔记保留备用.
定义变量 var=https://blog.mydns.vip/3419.html
1. # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 https://
结果是 :blog.mydns.vip/3419.html
2. ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 https://blog.mydns.vip/3419.html
结果是 3419.html
3. %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:https://blog.mydns.vip
4. %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:https:
总结: #、##、%、%%这几个指令说明
#、## 表示从左边开始删除。一个 # 表示从左边删除到第一个指定的字符;两个 # 表示从左边删除到最后一个指定的字符,包含指定字符本身。
%、%% 表示从右边开始删除。一个 % 表示从右边删除到第一个指定的字符;两个 % 表示从左边删除到最后一个指定的字符,包含指定字符本身。
注意:要配合通配符“*”,匹配不当无效果。比如#,表示从左边开始匹配,要用#*/,%表示右边开始,匹配要用%/*
5. 从左边第几个字符开始,及字符的个数
echo ${var:0:6}
其中的 0 表示左边第一个字符开始,6 表示字符的总个数。
结果是:https:
6. 从左边第几个字符开始,一直到结束。
echo ${var:8}
其中的 8 表示左边第9个字符开始,一直到结束。
结果是 :blog.mydns.vip/3419.html
7. 从右边第几个字符开始,及字符的个数
echo ${var:0-9:4}
其中的 0-9 表示右边开始9个字符(即3419.html),4 表示截取字符数量。
结果是:3419
8. 从右边第几个字符开始,一直到结束。
echo ${var:0-9}
表示从右边第9个字符开始,一直到结束。
结果是:3419.html
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
9. 输出字符串的位置。
echo `expr index "$var" bv`
表示从中找到"b"、"v"两个字符的位置,哪个字母先出现就计算哪个。
结果是:9
10. 获取字符串长度。
echo ${#var}
获取字符串长度。也可以用expr length "$var"
结果是:32
» 本文链接地址:https://blog.mydns.vip/3419.html
Fantastic blog post. Really thank you! Keep writing. Brande Obed Mar
Really appreciate you sharing this article post. Really looking forward to read more. Fantastic. Pearla Alford Yahiya
You have brought up a very wonderful points , regards for the post. Billye Fitz Merna
I always emailed this website post page to all my contacts, as if like to read it afterward my contacts will too. Gina Rutledge Darcey
Fabulous, what a webpage it is! This webpage presents useful information to us, keep it up. Brandise Giacomo Bushweller
I really like and appreciate your blog article. Really looking forward to read more. Awesome. Fran Halsey Barclay
I value the blog post. Really looking forward to read more. Really Great. Nevsa Jehu Litha
Some truly prime content on this website , saved to bookmarks . Britney Tremaine Madelon
Hiya, I am really glad I have found this information. Nowadays bloggers publish only about gossip and net stuff and this is actually frustrating. Ddene Georas Cerallua
Every weekend i used to go to see this site, because i want enjoyment, as this this site conations actually nice funny information too. Mathilda Herrick Aylmer
Good article. I am dealing with some of these issues as well.. Rosemaria Cord Archibald
Very good article! We will be linking to this particularly great article on our website. Keep up the great writing. Cristie Rodd Buatti