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 一些变量的操作相关推荐

  1. shell脚本学习第四天——bash内部变量,变量主串,变量替换

    一.bash内部变量: 常见的内部命令:echo,eval,exec,export,readonly,read,shift ,wait,exit和点(.)也就是source命令. 命令 作用 echo ...

  2. bash下变量PS1的完整理解

    本文并不会讲解如何设置PS1以获得你喜欢的提示符:本文会围绕PS1这个变量,就其涉及到的一些概念展开讨论 导言 ubuntu 的默认 shell 是 bash,bash 下有个变量 PS1,我们在 l ...

  3. MySQL 服务器变量 数据操作DML-视图

    原文:MySQL 服务器变量 数据操作DML-视图 SQL语言的组成部分 常见分类: DDL:数据定义语言 DCL:数据控制语言,如授权 DML:数据操作语言 其它分类: 完整性定义语言:DDL的一部 ...

  4. bash shell 中时间操作常用方法总结

    在日常的工作中,bash shell 的时间操作非常频繁.比如shell脚本定时发送数据统计的时候,会查看当前是否为预定的发送时间.或者使用文件保存一些数据时,一般会生成时间字符串当做文件名的一部分. ...

  5. git代码托管 · 操作举例: “git bash here ”(全程操作讲解) - git命令篇

    如何通过git进行代码托管?怎么操作?全程讲解说明,以git bash here为例. git使用案例:git代码托管: "git bash here "(全程操作讲解) 代码托管 ...

  6. python变量的赋值操作_Python中关于变量赋值操作的实例分享

    这篇文章主要介绍了Python编程之变量赋值操作,结合实例形式分析了Python赋值.位移.多元赋值操作符等相关操作使用技巧,需要的朋友可以参考下 本文实例讲述了Python编程之变量赋值操作.分享给 ...

  7. 深度学习框架 TensorFlow.NET 0.1.0,完善变量更新操作

    TensorFlow是一个深度学习框架,支持Linux平台,Windows平台,Mac平台,甚至手机移动设备等各种平台.TensorFlow提供了非常丰富的深度学习相关的API,可以说目前所有深度学习 ...

  8. KVC的使用(对一个对象的成员变量进行操作(赋值/取值))

    切记:请求的数据要存在相应的类中,不能在加载试图中请求数据 KVC就是对请求数据的一个简化 MainViewController.m #import "MainViewController. ...

  9. matlab变量及操作

    matlab变量及操作 变量与赋值语句 变量 变量的管理 赋值语句 变量与赋值语句 变量 变量本质上是内存单元的一个抽象,相当于为一个内存起了一个名字便于之后的使用. 在matlab中,变量名以字母开 ...

最新文章

  1. RHEL7 单独安装图形 X11
  2. matlab读取格式重复,matlab - 为什么Xlsread以字符串形式读取(日期时间) - 堆栈内存溢出...
  3. 殊途同归还是渐行渐远?MIT神经科学教授James DiCarlo谈如何通过人类神经理解神经网络...
  4. 计算机视觉与深度学习 | 几种常见的卡尔曼滤波算法理论
  5. Windows 下 Anaconda3 的安装配置
  6. How is CRM status filtering logic done
  7. SwiftUI3.0封装Lottie动画库
  8. Spring JMS:处理事务中的消息
  9. 数据采集工具flume
  10. Pro*C/C++简单介绍
  11. python寻找list中最大值、最小值并返回其所在位置
  12. 怎样设计访谈提纲_访谈提纲设计
  13. Dell服务器通过IDRAC9收集TSR日志排查故障
  14. 设计模式--适配器1模式实现C++
  15. Nagios学习实践系列——配置研究[监控当前服务器]
  16. 给定一个数组 a[n], 输出b[n], 其中 b[i] = a[0]*a[1]...*a[i-1]*a[i+1]*....a[n]; 其中不能用除法 复杂度要求O(n)...
  17. sqlserver 数据库文件损坏、数据库可疑修复处理
  18. html5 图形 标签,HTML5 canvas 标签介绍:定义图形
  19. 前后端不分离,分页器组件(python-dango)
  20. 【数据库】Mysql索引究竟是什么?

热门文章

  1. html文档中strokestyle,HTML5画布的StrokeStyle?(html5 canvas strokeStyle?)
  2. maven 入门介绍
  3. mysql中变量值得输出,几个比较重要的MySQL变量
  4. 用php做居中金字塔,[菜鸟学php] php版自定义函数实现金字塔
  5. java json float_java – Json解析问题(值自动更改为float)
  6. 2019一级计算机等级考试试题,2019年全国计算机等级考试一级练习试题及答案(一)...
  7. Bellman_Ford算法(求一个点到任意一点的最短距离)
  8. Python poetry的使用
  9. java 不生成文件下载_java 下载文件时怎么避免在服务器上生成文件
  10. mysql和oracle用户管理_五种Oracle用户的授权与管理