Linux对变量的截取替换
//对变量截取
${variable} 对变量值的修正(增删数据),仅仅修改输出后的结果对源值,并不做修改 #变数后对接字符
# ## //截取从前面开始
% %% //截取从后面开始
/ // //替换 [root@dzswj-test ~]# vbird="/home/vbird/testing/testing.x.sh"
[root@dzswj-test ~]#
[root@dzswj-test ~]#echo $vbird
/home/vbird/testing/testing.x.sh #{variable#} //#从前面开始截取
#{variable##}变数名称后面两个##表示在 ##后面的字串取最长那一段;仅有一个# 表示取最小的那一段 [root@dzswj-test ~]#echo ${vbird##/*/} //删除/*/中间的所有数据包括// ##全部删除
testing.x.sh
[root@dzswj-test ~]#echo ${vbird#/*/} //仅仅删除第一次匹配的 #删除第一次匹配的
vbird/testing/testing.x.sh #{variable%} //%从后面开始截取
#{variable%%}变数名称后面两个%%表示在 %%前面的字串取最长那一段;仅有一个# 表示取最小的那一段 [root@dzswj-test ~]#echo $vbird
/home/vbird/testing/testing.x.sh [root@dzswj-test ~]#echo ${vbird%%/*} //从后面开始 * -->/ 最大匹配删除,因此给删完了 [root@dzswj-test ~]#echo ${vbird%/*} //最短删除 /testing.x.sh
/home/vbird/testing [root@dzswj-test ~]#echo ${vbird%/*/} //最后一个字符开始/而真实的是h
/home/vbird/testing/testing.x.sh [root@dzswj-test ~]#echo ${vbird%/*h} //最短删除后端h开头
/home/vbird/testing
[root@dzswj-test ~]#
[root@dzswj-test ~]#
[root@dzswj-test ~]#echo ${vbird%%/*h} //全量删除,结尾--开头 [root@dzswj-test ~]#
[root@dzswj-test ~]#echo ${vbird%%/*/} //为匹配到,因此未能删除
/home/vbird/testing/testing.x.sh #变量截取替换字符
// /
[root@dzswj-test ~]#echo ${vbird}
/home/vbird/testing/testing.x.sh
[root@dzswj-test ~]#
[root@dzswj-test ~]#
[root@dzswj-test ~]#echo ${vbird/testing/TEST} // /最前面匹配的替换
/home/vbird/TEST/testing.x.sh
[root@dzswj-test ~]#
[root@dzswj-test ~]#echo ${vbird//testing/TEST} // //全局匹配替换
/home/vbird/TEST/TEST.x.sh
Linux对变量的截取替换的更多相关文章
- linux shell变量的截取
变量的截断,经常用到的是${},##和%%几个特殊符号.假设我们定义了一个变量为:file=/dir1/dir2/dir3/my.file.txt ,可以用${ }分别替换得到不同的值: ${file ...
- 【转】Linux下变量内容删除与替换
转自:http://www.linuxidc.com/Linux/2015-01/111781.htm 当一个变量被赋予值后,有时会对变量的值进行一些微小的调整,比如删除变量值中特定一部份,或替换掉一 ...
- [转]Python 字符串操作实现代码(截取/替换/查找/分割)
原文地址:http://www.jb51.net/article/38102.htm ps:好久没更新python代码了,这次用到了字符串,转来看看 Python 截取字符串使用 变量[头下标:尾下标 ...
- Linux系统环境变量的四个配置文件的关系
Linux系统环境变量配置有四个文件分别是: /etc/environment,/etc/profile,/etc/bash.bashrc,~/.bashrc 各配置文件意义 /etc/environ ...
- shell变量的截取总结
#shell变量的截取 Shell中的${}.##和%% 假设定义了一个变量为: 代码如下: file=/dir1/dir2/dir3/my.file.txt //变量的删除 可以用${ }分别替换得 ...
- Linux Min装机--配置JDK替换OpenJDK
@Linux Min装机--配置JDK替换OpenJDK 1.将下载的JDK压缩包解压到/usr/lib/jvm wil use : 一.文件复制命令cp 命令格式:cp [-adfilp ...
- Python 字符串操作(截取/替换/查找/分割)
Python 截取字符串使用 变量[头下标:尾下标],就可以截取相应的字符串,其中下标是从0开始算起,可以是正数或负数,下标可以为空表示取到头或尾. # 例1:字符串截取 str = '1234567 ...
- linux bash变量作用域
linux bash变量作用域 一,思考一个问题,当在shell里执行某个程序时,shell是怎么找到这个程序的? shell会去$PATH环境变量定义的目录里去找这个命令.环境变量里一般包括/usr ...
- Linux 环境变量 设置 etc profile
一.Linux的变量种类 按变量的生存周期来划分,Linux变量可分为两类: 1.永久的:需要修改配置文件,变量永久生效. 2.临时的:使用export命令声明即可,变量在关闭shell时失效. 二. ...
随机推荐
- 编写基于TCP的应用程序
编写基于TCP的应用程序 这似乎是一个非常简单的话题, 就跟"是个人就能做网站"一样, 你可能也认为"是个人就能写使用TCP socket的网络程序". 不 ...
- 定制flask-admin的主页
flask也用了很久了,一般配合flask-admin设置后台. 但是flask-admin设置的都是自己加入的,对某些model进行管理. 下面介绍如何定制flask-admin的首页. 原来我们引 ...
- Appium脚本(4) 使用uiautomator方法定位元素
from app.find_element.capability import driver from time import sleep # 使用uiautomator方法定位元素 accunt_i ...
- Win7下Powershell 由2.0 升级为 5.1
今天在构建脚本的时候老是提示 Windows 7 默认的Powershell是2.0,查看版本 下载 https://www.microsoft.com/en-us/download/details. ...
- Intellij IDEA设置类注释和方法注释
背景:工欲善其事必先利其器,如果不能把工具用熟练了, 感觉很是别扭. 参考:IntelliJ IDEA设置类注释和方法注释 IntelliJ IDEA 中创建类的时候,可以直接自动给类加注释的设置,以 ...
- Oracle Spatial分区应用研究之七:同等分区粒度下全局索引优于分区索引的原因分析
1.实验结论 同等分区粒度下,使用分区空间索引进行空间查询,比使用全局空间索引进行查询,对数据字典表的访问次数更多.假设分区数为X,则大概多3X次访问.具体说明见6实验结论. 2.实验目的 在之前的测 ...
- python及Django的json序列化
JSON是一种文本序列化格式(它输出的是unicode文件,大多数时候会被编码为utf-8),人们很容易进行阅读和编写.python自带的dumps方法很有用,能很容易将字典dict类型数据转化为js ...
- 执行sudo supervisorctl reload报错ImportError: No module named supervisor.supervisord
由于yum install supervisor 会默认使用python2.6环境,首先要安装好python2.6的环境,然后修改以下文件首行为2.6即可 [root@VM_0_15_centos ~ ...
- JVM的基本结构和JVM的内存结构
这里概要介绍一下JVM在启动后,作为操作系统的一个进程的基本结构,以及从操作系统角度看,JVM如何管理它从操作系统里申请来的内存的,也就是JVM的内存结构或者叫JVM内存模型. 1.JVM的基本结构 ...
- kafka备份原理