shell 截取变量的字符串
假设有变量 var=http://www.linuxidc.com/test.htm
一 # 号截取,删除左边字符,保留右边字符。
echo ${var#*//}
其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符
即删除 http://
结果是 :www.linuxidc.com/test.htm
二 ## 号截取,删除左边字符,保留右边字符。
echo ${var##*/}
##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符
即删除 http://www.linuxidc.com/
结果是 test.htm
三 %号截取,删除右边字符,保留左边字符
echo ${var%} #显示结果sbin/ntpdate
3.2 由字符串前面开始对比删除最长的相符者
语法:${待测变量##样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename##} #显示结果sbin/ntpdate
3.2 由字符串前面开始对比删除最长的相符者
语法:${待测变量##样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename##/*/} #显示结果ntpdate
3.3 由字符串后面开始对比删除最短的相符者
语法:${待测变量%样式}
实例:
filename="/usr/sbin/ntpdate"
echo ${filename%/*} #输出结果/usr/sbin
3.4 由字符串后面开始对比删除最长的相符者
语法:${待测变量%%样式}
实例:
filename="hello/usr/sbin/ntpdate"
echo ${filename%%/*} #输出结果hello
4.替换或删除部分字符串
4.1 只替换找到的第一个字符串
语法:${待测变量/样式/替换}
实例:
str="hello hello"
echo ${str/hello/world} #结果为world hello
4.2 替换找到的所有样式字符串
语法:${待测变量//样式/替换}
实例:
str="hello hello"
echo ${str/hello/world} #结果为world world
4.3 删除第一个指定的字符串
语法:${待测变量/要删除的字符串/}
实例:
str="hello hello"
echo ${str/hello/} #结果为hello
4.4 删除所有指定的字符串
语法:${待测变量//要删除的变量/}
实例:
str="hello world hello"
echo ${str//hello/} #输出结果为world
5.命令扩展
语法:$(命令)
实例: time=$(date) 等价 time=`date`
6.算术扩展
语法:$((算术))
实例:
echo "a=$((5*5))" #结果为a=25
shell 截取变量的字符串的更多相关文章
- shell 截取变量的字符串(转)
来自:http://blog.sina.com.cn/s/blog_7c95e5850100zpch.html 假设有变量 var=http://www.linuxidc.com/test.htm 一 ...
- Linux Shell 高级变量及字符串
高级变量包含三个部分1.变量扩展2.命令替换3.算术扩展在Bash Shell中,$算符会触发到上述三种扩展,基本形式如下: 基本型 扩展种类 例子 ...
- shell 截取指定的字符串
按指定的字符串截取 1.第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ...
- shell截取字符串方法
shell中截取字符串的方法有很多中, ${expression}一共有9种使用方法.${parameter:-word}${parameter:=word}${parameter:?word}${p ...
- shell 之解释器、变量、字符串、数组
1.Shell简介 Shell 是一个用 C 语言编写的程序,它是用户使用 Linux 的桥梁.Shell 既是一种命令语言,又是一种程序设计语言.Shell 是指一种应用程序,这个应用程序提供了一个 ...
- Linux Shell 截取字符串
Linux Shell 截取字符串 shell中截取字符串的方法很多 ${var#*/} ${var##*/} ${var%/*} ${var%%/*} ${var:start:len} ${var: ...
- shell截取字符串的方法
参考文献: linux中shell截取字符串方法总结 [Linux]如何在Shell脚本中计算字符串长度? 截取字符串的方法一共有八种,主要为以下方法 shell中截取字符串的方法有很多中, ${ex ...
- shell截取指定字符串之间的内容
#!/bin/bash#截取字符串 #path=ss/usr/share/src/root/home/admin path=ss/usr/share/src/root/home/admin/src/a ...
- centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/index.php <<EOF重定向 shell的变量和函数命名不能有横杠 平台可以用arch命令,获取是i686还是x86_64 curl 下载 第三十九节课
centos shell编程5 LANMP一键安装脚本 lamp sed lnmp 变量和字符串比较不能用-eq cat > /usr/local/apache2/htdocs/ind ...
随机推荐
- MySQL replace into 与insert into
https://blog.csdn.net/helloxiaozhe/article/details/77427266 使用replace带来的问题 1.Replace into 操作在唯一键重复情况 ...
- mybatis全局配置mybatis-config.xml
大部分时候,我们都是在Spring 里面去集成MyBatis.因为Spring 对MyBatis 的一些操作进行的封装,我们不能直接看到它的本质,所以先看下不使用容器的时候,也就是编程的方式,MyBa ...
- [Bzoj1030][JSOI2007]文本生成器(AC自动机&dp)
题目链接:https://www.lydsy.com/JudgeOnline/problem.php?id=1030 最最最常见的多串匹配问题!题目求至少包含一个子串的方案数,则可以转化成全部方案-不 ...
- 2019 Multi-University Training Contest 1 - 1011 - Function - 数论
http://acm.hdu.edu.cn/showproblem.php?pid=6588 新学到了一个求n以内与m的gcd的和的快速求法.也就是下面的S1. ①求: $ \sum\limits_{ ...
- java NIO socket 通信实例
版权声明:本文为博主原创文章,未经博主同意不得转载. https://blog.csdn.net/zhuyijian135757/article/details/37672151 java Nio 通 ...
- rabbitmq部署安装
1.安装rabbitmq需要提前安装erlang,相关下载地址:http://www.erlang.org/downloads,需要注意:默认安装的RabbitMQ 监听端口是5672 启动和 ...
- 理解Throughput和Latency
Throughput,中文译作吞吐量.Latency,中文译作延迟.它们是衡量软件系统的最常见的两个指标. 吞吐量一般指相当一段时间内测量出来的系统单位时间处理的任务数或事务数(TPS).注意“相当一 ...
- cdn.bootcss.com无法访问 解决方法
今天angularjs的网站突然加载报错,提示Refused to execute script from 'https://cdnjs.com/' because its MIME type ('t ...
- Django学习记录--~Biubiubiu
Day One Django常用命令 1.创建Django网站框架 django-admin startproject mysite # mysite为定义的项目文件夹名称 2.超级用户创建 py m ...
- ActiveMQ修改连接的用户名密码
安装目录下conf/activemq.xml 添加如下内容: <plugins> <simpleAuthenticationPlugin> <users> < ...