Linux shell脚本的字符串截取
2015-08-13 15:08
633 查看
Linux 的字符串截取很有用。有八种方法。
假设有变量 var=http://www.hao.com/123.htm
.
.
一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.hao.com/123.htm
.
.
二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.hao.com/
结果是 123.htm
.
.
三 %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.hao.com
.
.
四 %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
.
.
五 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
.
.
六 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.hao.com/123.htm
.
.
七 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
.
.
八 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
。
。
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
假设有变量 var=http://www.hao.com/123.htm
.
.
一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.hao.com/123.htm
.
.
二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.hao.com/
结果是 123.htm
.
.
三 %号截取,删除右边字符,保留左边字符
echo ${var%/*}
%/* 表示从右边开始,删除第一个 / 号及右边的字符
结果是:http://www.hao.com
.
.
四 %% 号截取,删除右边字符,保留左边字符
echo ${var%%/*}
%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符
结果是:http:
.
.
五 从左边第几个字符开始,及字符的个数
echo ${var:0:5}
其中的 0 表示左边第一个字符开始,5 表示字符的总个数。
结果是:http:
.
.
六 从左边第几个字符开始,一直到结束。
echo ${var:7}
其中的 7 表示左边第8个字符开始,一直到结束。
结果是 :www.hao.com/123.htm
.
.
七 从右边第几个字符开始,及字符的个数
echo ${var:0-7:3}
其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。
结果是:123
.
.
八 从右边第几个字符开始,一直到结束。
echo ${var:0-7}
表示从右边第七个字符开始,一直到结束。
结果是:123.htm
。
。
注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)
相关文章推荐
- adb shell dumpsys 命令 查看内存
- XShell安装和配置(系统为虚拟机中的centos7)
- Linux Shell脚本编程--grep命令详解
- shell 批量创建用户 并指出错误?
- remove '^M' in shell script
- Zabbix监控之Linux命令行/Shell脚本解析json
- Xshell连接CentOS问题
- 常用.bash_profile配置
- /etc/profile、~/.bash_profile等几个文件的执行过程
- 【Powershell】【DNS】通过Powershell远程注册静态DNS
- Spark入门实战系列--3.Spark编程模型(上)--概念及SparkShell实战
- 让Shell终端下的svn diff支持颜色高亮
- shell中for循环总结
- shell中单引号和双引号区别
- Shell 批量删除失效软链接
- BAPC2014 B&&HUNNU11582:Button Bashing(BFS)
- 用C,shell实现俩文件合并
- shell脚本回顾01:脚本跟踪和脚本参数
- Shell编程之正则表达式
- shell 函数