Bash 一些变量的操作
Bash 一些变量的操作
有时候我们需要对变量进行一些操作,比如截取,替换,删除等操作,很多同学会使用awk, sed 或cut等命令来干这事,其实,bash的内置的变量操作就可以干这个事。下面说明一些常用的方法:
这些操作需要使用 ${var} 这种变量的写法(用花括号)。
${#var} 输出 var的字符串长度
${var:pos:len} 你可以理解为变量的切片操作。如:
> var=0123456789
> echo ${var:2}
23456789
> echo ${var:2:2}
23
> echo ${var:2:3}
234
> echo ${var::1}
0
> echo ${var::-2}
01234567
${var#word} 或 ${var##word} 删除匹配word的前缀,#为最短匹配,##为最长匹配
${var%word} 或 ${var%%word} 删除匹配word的后缀,%为最短匹配,%%为最长匹配
> var=ababcdcd
> echo ${var#a*b}
abcdcd
> echo ${var##a*b}
cdcd
> echo ${var%c*d}
ababcd
> echo ${var%c*d}
ababcd
> echo ${var%%c*d}
abab
${var/pattern/replacement} 替换第一个匹配
${var//pattern/replacement} 替换所有的匹配
var=ababcdcd
> echo ${var/ab/01}
01abcdcd
> echo ${var//ab/01}
0101cdcd
转载于:https://blog.51cto.com/redface/1604743
Bash 一些变量的操作相关推荐
- shell脚本学习第四天——bash内部变量,变量主串,变量替换
一.bash内部变量: 常见的内部命令:echo,eval,exec,export,readonly,read,shift ,wait,exit和点(.)也就是source命令. 命令 作用 echo ...
- bash下变量PS1的完整理解
本文并不会讲解如何设置PS1以获得你喜欢的提示符:本文会围绕PS1这个变量,就其涉及到的一些概念展开讨论 导言 ubuntu 的默认 shell 是 bash,bash 下有个变量 PS1,我们在 l ...
- MySQL 服务器变量 数据操作DML-视图
原文:MySQL 服务器变量 数据操作DML-视图 SQL语言的组成部分 常见分类: DDL:数据定义语言 DCL:数据控制语言,如授权 DML:数据操作语言 其它分类: 完整性定义语言:DDL的一部 ...
- bash shell 中时间操作常用方法总结
在日常的工作中,bash shell 的时间操作非常频繁.比如shell脚本定时发送数据统计的时候,会查看当前是否为预定的发送时间.或者使用文件保存一些数据时,一般会生成时间字符串当做文件名的一部分. ...
- git代码托管 · 操作举例: “git bash here ”(全程操作讲解) - git命令篇
如何通过git进行代码托管?怎么操作?全程讲解说明,以git bash here为例. git使用案例:git代码托管: "git bash here "(全程操作讲解) 代码托管 ...
- python变量的赋值操作_Python中关于变量赋值操作的实例分享
这篇文章主要介绍了Python编程之变量赋值操作,结合实例形式分析了Python赋值.位移.多元赋值操作符等相关操作使用技巧,需要的朋友可以参考下 本文实例讲述了Python编程之变量赋值操作.分享给 ...
- 深度学习框架 TensorFlow.NET 0.1.0,完善变量更新操作
TensorFlow是一个深度学习框架,支持Linux平台,Windows平台,Mac平台,甚至手机移动设备等各种平台.TensorFlow提供了非常丰富的深度学习相关的API,可以说目前所有深度学习 ...
- KVC的使用(对一个对象的成员变量进行操作(赋值/取值))
切记:请求的数据要存在相应的类中,不能在加载试图中请求数据 KVC就是对请求数据的一个简化 MainViewController.m #import "MainViewController. ...
- matlab变量及操作
matlab变量及操作 变量与赋值语句 变量 变量的管理 赋值语句 变量与赋值语句 变量 变量本质上是内存单元的一个抽象,相当于为一个内存起了一个名字便于之后的使用. 在matlab中,变量名以字母开 ...
最新文章
- RHEL7 单独安装图形 X11
- matlab读取格式重复,matlab - 为什么Xlsread以字符串形式读取(日期时间) - 堆栈内存溢出...
- 殊途同归还是渐行渐远?MIT神经科学教授James DiCarlo谈如何通过人类神经理解神经网络...
- 计算机视觉与深度学习 | 几种常见的卡尔曼滤波算法理论
- Windows 下 Anaconda3 的安装配置
- How is CRM status filtering logic done
- SwiftUI3.0封装Lottie动画库
- Spring JMS:处理事务中的消息
- 数据采集工具flume
- Pro*C/C++简单介绍
- python寻找list中最大值、最小值并返回其所在位置
- 怎样设计访谈提纲_访谈提纲设计
- Dell服务器通过IDRAC9收集TSR日志排查故障
- 设计模式--适配器1模式实现C++
- Nagios学习实践系列——配置研究[监控当前服务器]
- 给定一个数组 a[n], 输出b[n], 其中 b[i] = a[0]*a[1]...*a[i-1]*a[i+1]*....a[n]; 其中不能用除法 复杂度要求O(n)...
- sqlserver 数据库文件损坏、数据库可疑修复处理
- html5 图形 标签,HTML5 canvas 标签介绍:定义图形
- 前后端不分离,分页器组件(python-dango)
- 【数据库】Mysql索引究竟是什么?
热门文章
- html文档中strokestyle,HTML5画布的StrokeStyle?(html5 canvas strokeStyle?)
- maven 入门介绍
- mysql中变量值得输出,几个比较重要的MySQL变量
- 用php做居中金字塔,[菜鸟学php] php版自定义函数实现金字塔
- java json float_java – Json解析问题(值自动更改为float)
- 2019一级计算机等级考试试题,2019年全国计算机等级考试一级练习试题及答案(一)...
- Bellman_Ford算法(求一个点到任意一点的最短距离)
- Python poetry的使用
- java 不生成文件下载_java 下载文件时怎么避免在服务器上生成文件
- mysql和oracle用户管理_五种Oracle用户的授权与管理