【截取】

一、Linux shell 截取字符变量的前8位,有方法如下:

expr substr “$a” 1 8

:

二、按指定的字符串截取

第一种方法:

${varible##*string}    # 从左向右截取最后一个string后的字符串
${varible#*string} #从左向右截取第一个string后的字符串
${varible%%string*} #从右向左截取最后一个string后的字符串
${varible%string*} #从右向左截取第一个string后的字符串
#“*”只是一个通配符可以不要  

第二种方法:

${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。

三、按指定要求分割

比如获取文件后缀名:

【拼接】

一、拼接字符

二、拼接字符串

【字符串比较】

-n 判断不为空
-z 判断是否为空
相等比较 == 或者=
不相等 !=
小于 需要转义 \<
大于 需要转义 >
另外字符串提取中双引号”” 和 单引号‘ ’区别在于单引号不进行任何的变量解释,就是字符串,而双引号会对其进行解释

【替换】

替换命令:

${变量/查找/替换值}  一个'/'表示替换第一个'//'表示替换所有,当查找出中出现了:"/"需要转移成"\/"
[chengmo@localhost ~]$ test='c:/windows/boot.ini'
[chengmo@localhost ~]$ echo ${test/\//\\}
c:\windows/boot.ini
[chengmo@localhost ~]$ echo ${test//\//\\}
c:\windows\boot.ini

 博客整理自: 
http://www.jb51.net/article/56563.htm 
http://blog.csdn.net/edwzhang/article/details/53332900 
http://www.jb51.net/article/56559.htm 

  

 

 

Shell中字符串的切割、拼接、比较、替换的更多相关文章

  1. shell中字符串操作【转】

    转自:http://blog.chinaunix.net/uid-29091195-id-3974751.html 我们所遇到的编程语言中(汇编除外)都少不了字符串处理函数吧,当然shell编程也不例 ...

  2. Shell中字符串、数值的比较

    原文:http://apps.hi.baidu.com/share/detail/31263915 在shell中字符串与数值的比较方法是不同的,要注意区分 整数比较:    -eq       等于 ...

  3. ubuntu下仅仅获取网卡一的ip地址 && shell中字符串拼接

    问题描述: ubuntu下仅仅获取网卡一的ip地址 问题背景: eth0,eth1,eth2……代表网卡一,网卡二,网卡三…… lo代表127.0.0.1,即localhost | 问题描述: 已知字 ...

  4. 在shell 中字符串,文件,数字的比较

    hadoop fs -test -e /path/exist ] ;then echo 'exist' else echo 'Error! path is not exist' fi 在shell中如 ...

  5. shell中空格的使用;空格替换;通配符

    测试: test $? -eq && echo "yes" || echo "no" 通配符: 通配符 ()*:0个或多个连续的字符 ()?:任 ...

  6. Shell中字符串分割的三种方法

    问题:对于’1,2,3,4,5’这样的字符串输出采用,分隔开的1 2 3 4 5 特征:在字符串中没有空格 解决方法1: #!/bin/bash var=’1,2,3,4,5’ var=${var// ...

  7. SQL中字符串截取、连接、替换等函数的用法

    一.SQL中SUBSTRING函数的用法1.功能:返回字符.二进制.文本或图像表达式的一部分2.语法:SUBSTRING ( expression, start, length )3.QL 中的 su ...

  8. shell中字符串基本用法

    前言 今天在写脚本时,发现前阶段使用过的一些用法还是需要去百度查找,并且找到的答案还需要自己去筛选,耽误写脚本时间,这一篇对字符串之间的比较和逻辑判断都非常详细,借鉴他人之作,资源共享. 本片主要说明 ...

  9. Shell 中字符串变量的赋值注意点

    1. 变量赋值 语法:var="saaaa" PS: 等号两边不能有空格 2. 脚本示例如下: #!/bin/sh # Get bug activity info # usage ...

随机推荐

  1. 我对DFS的理解

    我对DFS的理解 [何为DFS] 深度优先搜索(Depth-First-Search),简称DFS.是一种常见搜索算法.其方法是从原点不断一条路扩散,当无路可走时回退来走下一条路,直至找到目标或遍历. ...

  2. photoshop实例实战(入门级)教程

    PS对街拍女孩照片增加质感(2019-03-19 17:57) PS制作水火相溶特效文字图片(2019-03-19 17:49) PS制作简洁漂亮的立体抽丝文字(2019-03-19 17:16) P ...

  3. CSS 实现自动换行、强制换行、强制不换行的属性

    实现效果 1.自动换行: word-wrap:break-word; word-break:normal; 2.强制换行: word-break:break-all;       按字符截断换行 /* ...

  4. Vue实现树形下拉框

    Vue自身并没有实现树形下拉框的组件,找了很多资料,最后在Github上找了个插件vue-treeselect,功能还是比较全的,模糊搜索.多选.延迟加载.异步搜索.排序,自定义.Vuex支持等等.这 ...

  5. axios拦截http拦截

    一,判断登录页面 const routes = [ { path: '/', name: '/', component: Index }, { path: '/repository', name: ' ...

  6. 二叉树最近公共祖先(LeetCode)

    给定一个二叉树, 找到该树中两个指定节点的最近公共祖先. 百度百科中最近公共祖先的定义为:“对于有根树 T 的两个结点 p.q,最近公共祖先表示为一个结点 x,满足 x 是 p.q 的祖先且 x 的深 ...

  7. GIt帮助文档之忽略某些文件——忽略python虚拟环境文件夹(转)

    前言:为避免多个Python项目下安装库之间的冲突,或为轻松打包某个项目,建议在每个项目文件夹下安装Python虚拟环境,并在虚拟环境内进行操作,之后你安装的任何库和执行的任何程序都是在这个环境下运行 ...

  8. Spring MVC 使用介绍(十二)控制器返回结果统一处理

    一.概述 在为前端提供http接口时,通常返回的数据需要统一的json格式,如包含错误码和错误信息等字段. 该功能的实现有四种可能的方式: AOP 利用环绕通知,对包含@RequestMapping注 ...

  9. [2019.04.16] 由Python写成的自动解压脚本

    很久很久以前(二十七天吧……大概)被要求写一个脚本来检索并解压磁盘上所有的以特定格式命名的tar文件,于是乎学习和摸鱼就一起开始了. 这次要写的脚本,针对的是这样的文件结构: 文件结构如上图所示 可以 ...

  10. PHP——??空合并运算符和?:三元运算符

    前言 在上一篇随笔,用三元运算符简单写的一个东西,引发了对他的兴趣,所以打算研究下. PHP7的新特性: https://php.net/manual/zh/migration70.new-featu ...