shell脚本中变量子串的常用操作

字符串操作

${#string}输出字句的字符个数

${string:position:length}输出$position开始的length长度的字符

${string:position}

[[email protected] scripts]# liuyifei="i like sanpan i like luo swimming"
[[email protected] scripts]# echo ${#liuyifei}
33
[[email protected] scripts]# echo ${liuyifei:2:4}
like
[[email protected] scripts]# echo ${liuyifei:2}  
like sanpan i like luo swimming
====以上实测

     ${string#substring}从string中从前往后检索,只要匹配到字符就开始删除最短匹配
     ${string##substring}从头匹配,开始最长删除
     ${string%substring}从结尾开始
     ${string%%substring}从结尾开始,类似以上##
======以上必须必须从一开始就匹配上
[[email protected] scripts]# echo ${liuyifei#like}
i like sanpan i like luo swimming
[[email protected] scripts]# echo ${liuyifei#*like}
sanpan i like luo swimming
[[email protected] scripts]# echo ${liuyifei##*like}
luo swimming
[[email protected] scripts]# echo ${liuyifei%*like} 
i like sanpan i like luo swimming
[[email protected] scripts]# echo ${liuyifei%like} 
i like sanpan i like luo swimming
[[email protected] scripts]# echo ${liuyifei%like*}
i like sanpan i
[[email protected] scripts]# echo ${liuyifei%%like*}
i

========================

${string/substring/replace}替换第一个遇到的匹配的字符

${string/#substring/replace}前缀匹配,必须全部匹配上,替换一长条

${string/%substring/replace}从后往前,替换最后一个遇到的匹配字符,

[[email protected] scripts]# echo ${liuyifei/like/love}

i love sanpan i like luo swimming

[[email protected] scripts]# echo ${liuyifei/#*like/love}

love luo swimming

[[email protected] scripts]# echo ${liuyifei/%like*/love}

i love

时间: 07-07

shell脚本中变量子串的常用操作的相关文章

shell脚本中变量的递归使用--真实内存使用查看脚本

脚本中进行变量计算时,需要加一个[ ],在外面再套一个$ [[email protected] tmp]# cat real_mem_used01.sh #!/bin/bashTOTAL=`free -g|grep Mem |awk '{print $2}'`USED=`free -g|grep Mem |awk '{print $3}'`BUFFER=`free -g|grep Mem |awk '{print $6}'`CACHE=`free -g|grep Mem |awk '{print

变量子串的常用操作

${#string}      返回$string的长度 ${string:position}      在$string中,从位置$position之后开始提取子串 $(string:position:length)    在$string中,从位置$position之后开始提取长度为$length的子串 ${string#substring}      从变量$string开头开始删除最短匹配$substring子串 $(string##substring)      从变量$string开

​老男孩教育每日一题-第98天-shell知识点:shell脚本中字符串截取的常用用法?

答案参考: 假设有变量var=http://www.oldboyedu.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符. 变量: var=http://www.oldboyedu.com/123.htm echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符 即删除 http:// 结果是 :www.oldboyedu.com/123.htm 2. ## 号截取,删除左边字符,保留右边字符. 变量

shell脚本中变量$$、$0等的含义

$0 这个程式的执行名字$n 这个程式的第n个参数值,n=1..9$* 这个程式的所有参数,此选项参数可超过9个.$# 这个程式的参数个数$$ 这个程式的PID(脚本运行的当前进程ID号)$! 执行上一个背景指令的PID(后台运行的最后一个进程的进程ID号)$? 执行上一个指令的返回值 (显示最后命令的退出状态.0表示没有错误,其他任何值表明有错误)$- 显示shell使用的当前选项,与set命令功能相同[email protected] 跟$*类似,但是可以当作数组用 示例: 1 #!/bin

Shell脚本中执行sql语句操作

这篇文章主要介绍了Shell脚本中执行sql语句操作mysql的5种方法,本文讲解了将SQL语句直接嵌入到shell脚本文件中.命令行调用单独的SQL文件.使用管道符调用SQL文件等方法,需要的朋友可以参考下 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到sh

Shell脚本中执行mysql的几种方式(转)

Shell脚本中执行mysql的几种方式(转) 对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 复制代码 代码如下: --演示环境   [[email protected] ~]# more /etc/issue   CentOS rele

Shell脚本中执行mysql语句

对于自动化运维,诸如备份恢复之类的,DBA经常需要将SQL语句封装到shell脚本.本文描述了在Linux环境下mysql数据库中,shell脚本下调用sql语句的几种方法,供大家参考.对于脚本输出的结果美化,需要进一步完善和调整.以下为具体的示例及其方法. 1.将SQL语句直接嵌入到shell脚本文件中 --演示环境 [[email protected] ~]# more /etc/issue CentOS release 5.9 (Final) Kernel \r on an \m   [e

shell脚本中的dat,计算器,内置变量的用法

什么是shell脚本.首先它是一个脚本,并不能作为正式的编程语言.因为是跑在linux的shell中,所以叫shell脚本.说白了,shell脚本就是一些命令的集合.举个例子,我想实现这样的操作: 1)进入到/tmp/目录: 2)列出当前目录中所有的文件名: 3)把所有当前的文件拷贝到/root/目录下: 4)删除当前目录下所有的文件. 简单的4步在shell窗口中需要你敲4次命令,按4次回车.这样是不是很麻烦?所以不妨把所有的操作都记录到一个文档中,然后去调用文档中的命令,这样一步操作就可以完

让你提前认识软件开发(22):shell脚本中的文件操作

第1部分 重新认识C语言 shell脚本中的文件操作 [文章摘要] 编写shell脚本时,经常会涉及到对文件的操作,比如从文件中读取一行数据.向文件追加一行数据等.完成文件读写操作的方法有很多,了解各种命令下文件操作的执行情况,有助于开发人员在不同使用场景下选择合适的命令. 本文以实际的shell脚本为例,介绍了对文件进行操作的不同方法,为相关开发工作提供了参考. [关键词] shell  文件操作  读写  效率 一.概述 在某些软件项目的需求文档中,要求程序一次性读或写的数据规模较大,可达1