shell-变量的字串应用技术
1. 变量子串的常用操作
常用操作如下表:

依次举例说明:
定义aa变量,内容为"I am scajy"
[root@1-241 script]# aa="I am scajy"
[root@1-241 script]# echo $aa
I am scajy
1、返回字符串aa变量字符串的长度
[root@1-241 ~]# echo ${#aa}
10
2、截取aa变量字符串从第2个字符之后开始取,默认取后面字符的全部,第2个字符不包含在内也可理解为删除前面的多少个字符
[root@1-241 ~]# echo ${aa:2}
am scajy
3、截取aa变量字符串从第2个字符之后开始取,取两个字符
[root@1-241 ~]# echo ${aa:2:2}
am
提示:类似cut -c 参数
[root@1-241 ~]# echo ${aa} |cut -c 1-4
I am
[root@1-241 ~]# echo ${aa} |cut -c 3-4
am
4、从变量aa开头开始删除最短匹配"I am“ 子串
[root@1-241 ~]# echo ${aa#I}
am scajy
[root@1-241 ~]# aa="I am scajy I am"
[root@1-241 ~]# echo ${aa#I am}
scajy I am
[root@1-241 ~]# echo ${aa##I am}
scajy I am
5、从变量aa开头开始删除最短匹配"I am“ 子串
[root@1-241 ~]# echo ${aa##I am sc}
ajy I am
6、从变量aa结尾开始删除最短匹配 scajy子串
[root@1-241 ~]# echo ${aa%scajy}
I am
7、从变量aa结尾开始删除最长匹配 scajy子串
[root@1-241 ~]# aa="I am scajy scajy"
[root@1-241 ~]# echo ${aa%scajy}
I am scajy
[root@1-241 ~]# echo ${aa%%scajy}
I am scajy
8、使用520字符串,来代替变量aa第一个匹配的I字符串
[root@1-241 ~]# aa="I I am scajy"
[root@1-241 ~]# echo ${aa/I/520}
520 I am scajy
9、使用520字符串,来代替变量aa结尾开始匹配的I字符串
[root@1-241 ~]# aa="I I am scajy"
[root@1-241 ~]# echo ${aa/%scajy/520}
I I am 520
10、使用520 1314 字符串,来代替从变量aa开头开始匹配的I am字符串
[root@1-241 ~]# aa="I I am scajy"
[root@1-241 ~]# echo ${aa/I I am/520 1 314}
520 1 314 scajy
11、使用520 1314 字符串,来全部替换变量aa开头开始匹配的I am 字符串
[root@test-1 scripts]# aa="I am scajy,I am scajy,I am scajy,I am scajy "
[root@test-1 scripts]# echo ${aa//I am/520 1314}
520 1314 scajy,520 1314 scajy,520 1314 scajy,520 1314 scajy
shell-变量的字串应用技术的更多相关文章
- Python趣味入门3:变量、字串输入与输出
安装配置python环境完毕,非常有必要花十分钟对一些基本概念:变量.数学字符.输入.输出等4个概念进行理解,下面通过简单示例,深入了解python的基本语法. 本文的示例均在IDLE的命令行模式中完 ...
- shell脚本 字串截取 正则表达式
字串处理 子串截取方法一:使用${}表达式格式:echo ${x:起始位置:长度}(起始位置编号从0开始,可省略) 方法二:使用expr substr格式:expr substr "$x&q ...
- @有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不
@有两个含义:1,在参数里,以表明该变量为伪参数 ,在本例中下文里将用@name变量代入当前代码中 2,在字串中,@的意思就是后面的字串以它原本的含义显示,如果不加@那么需要用一些转义符\来显示一些特 ...
- JS判断字符串变量是否含有某个字串的实现方法
JS判断字符串变量是否含有某个字串的实现方法 varCts = "bblText"; if(Cts.indexOf("Text") > 0 ){ aler ...
- Shell脚本编程(二):shell变量
定义变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的所有编程 ...
- Shell 变量,Shell echo命令
一.Shell 变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟 ...
- 二、Shell 变量
Shell 变量 定义变量时,变量名不加美元符号($,PHP语言中变量需要),如: your_name="runoob.com" 注意,变量名和等号之间不能有空格,这可能和你熟悉的 ...
- $ cd `dirname $0` 和PWD%/* shell变量的一些特殊用法
在命令行状态下单纯执行 $ cd `dirname $0` 是毫无意义的.因为他返回当前路径的".". $0:当前Shell程序的文件名dirname $0,获取当前Shell程序 ...
- shell重温---基础篇(shell变量&字符串以及git GUI运行shell脚本方式)
既然是基础篇那肯定是需要对shell的各种需要注意的基本点进行说明了.接下来就是show time... shell呢,是一个用C语言编写的应用程序,是用户使用linux的桥梁.所以呢,他既是一 ...
随机推荐
- SSM整合+WebUpload使用(spring+springmvc+mybatis+maven)
SSM框架整合以及webupload的集成与使用 在项目中最近用到了webupload.js,也方方面面遇到了不少问题,比如上传文件前对表单参数校验,当校验失败不予提交,及在文件上传成功后,选择同 ...
- upstream--负载
语法格式: upstream 负载名 { [ip_hash;] server ip:port [weight=数字] [down]; server ip:port [weight=数字]; } ...
- Java的枚举简单应用
/** * 请用枚举方式实现如下应用: * 客户去旅店住房, * 客户分普通客户,和vip客户,vip分白金和钻石客户 * 不同的客户有不同的折扣 * 入住的房间分单人房,双人房和套房 * 不同的房间 ...
- python根据密钥得到谷歌两步验证动态验证码
# coding=utf-8 import time import base64 import sys import hashlib import hmac import struct def goo ...
- Apache Hudi异步Compaction方式汇总
本篇文章对执行异步Compaction的不同部署模型一探究竟. 1. Compaction 对于Merge-On-Read表,数据使用列式Parquet文件和行式Avro文件存储,更新被记录到增量文件 ...
- linux账户的锁定和解锁、禁用账号
l——lock锁定 S——STATUS查看 u——unlock解锁 1.通过passwd命令锁定和解锁: [root@localhost ~]# passwd -S abc ——passwd -S ...
- 用后台开发的逻辑理念学习VUE
前言 近些年前端开发快速发展,现在学习前端已经不像以前那样仅仅学习一个语法就可以了,它已经是一门编程技术了,它们有自己独立的类似Main函数的入口,有像MVC一样规范好的层次结构,有自己的开发工具可以 ...
- 【python】调用sm.ms图床api接口,实现上传图片并返回url
图床简介 sm.ms网站提供免费的图床服务.单图上传大小限制5MB,每次最多上传10张,支持多种图片链接格式和api接口调用. 获取令牌 注册账号并登录,点击User-Dashboard 点击API ...
- node.js conditionDebug VScode 配置
launch.json { // 使用 IntelliSense 了解相关属性. // 悬停以查看现有属性的描述. // 欲了解更多信息,请访问: https://go.microsoft.com/f ...
- RDS、DDS 和 GaussDB 理不清?看这一篇足够了!
当前,华为云提供的数据库服务主要包括三大类:关系型数据库服务,非关系型数据库服务以及数据库工具服务.如下图所示: 关系型数据库和非关系型数据库均可分为开源和自研两大类.其中,自研数据库统一为Gauss ...