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的桥梁.所以呢,他既是一 ...
随机推荐
- 记录一个基于Java的利用快排切分来实现快排TopK问题的代码模板
使用快排切分实现快排和TopK问题的解题模板 import java.util.Arrays; public class TestDemo { public static void main(Stri ...
- Vue 3.0 中令人激动的新功能:Composition API
正如你所期望的那样,Vue 3带来了很多令人兴奋的新功能.值得庆幸的是,Vue团队主要是在当前API的基础上引入了一些补充和改进,而不是进行重大更改,所以已经了解Vue 2的人应该很快就会对新的语法感 ...
- Java接口讲解
Java中的接口其实就是一套“标准”或者“规范”,比如使用接口实现[电脑对鼠标.键盘使用USB接口的管理],鼠标和键盘他们与接口之间并不存在子类和父类的关系,但是鼠标和键盘又都要通过USB接口插入电脑 ...
- 一文带你了解Sql优化
我们后台开发人员每天都难免与数据库打交道,那么你在写sql语句的时候有注重到自己sql的效率吗?当你sql查询速度很慢的时候你有想过是你的sql语句造成的吗?看完这篇文章,我相信你会对sql优化有了一 ...
- Beauty Contest(POJ 2187)
原题如下: Beauty Contest Time Limit: 3000MS Memory Limit: 65536K Total Submissions: 42961 Accepted: ...
- oracle数据处理之exp/imp
oracle 导出/导入数据方法一 exp/imp工具:1 将数据库oracle01完全导出,DBA:sys,密码:123456:用户名Scott 密码123456 导出到D:\emp.dmp中 ex ...
- python中实现参数化的原理
k就是 <参数名>
- [LeetCode] 79. 单词搜索(DFS,回溯)
题目 给定一个二维网格和一个单词,找出该单词是否存在于网格中. 单词必须按照字母顺序,通过相邻的单元格内的字母构成,其中"相邻"单元格是那些水平相邻或垂直相邻的单元格.同一个单元格 ...
- GitHub常用上传文件的两种方法 附带常见的问题及Git安装教程
从早上下课到现在一直在琢磨如何给Github下载本地文件,中午饭都没吃.还好是解决了,感觉挺有成就感的.O(∩_∩)O哈哈~ 好哒 闲话不说,说重点. 一.git的安装 百度云:http://pan. ...
- axios+Qs请求数据转表单格式
import axios from 'axios' import qs from 'qs' axios.post('http://localhost:8888/baseitem/update', qs ...