【截取】

一、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. 译注(2): How to Write a 21st Century Proof

    原文:Computer Scientist Tells Mathematicians How To Write Proofs 对比一下下面两个证明哪个更好? 版本一: "A square a ...

  2. springmvc的前端控制器

    <servlet> <servlet-name>xxx</servlet-name> <servlet-class>org.springframewor ...

  3. servlet(3):servlet和filter<url-pattern>配置

    一,servlet容器对url的匹配过程: 当 一个请求发送到servlet容器的时候,容器先会将请求的url减去tomcat的上下文路径(配置的访问系统的基础路径例如intellij idea配置的 ...

  4. IIC时序操作24C02芯片

    1.心血来潮看自己能不能参考时序图重新写一个IIC驱动,加强一下时序图的理解.记录下来,以后遇到此类的IIC时序的芯片可以直接操作. 先说说自己参照手册来写AT24c02的IIC低层驱动,从写完到最后 ...

  5. MarkDown&思维导图

    从markdown文件创建思维导图 pzhaonet/mindr: an R package which converts markdown files (.md, .Rmd) into mindma ...

  6. calico客户端工具calicoctl

    工具介绍: Calico的二进制程序文件calicoctl可以直接操作Calico存储来查看,修改或配置Calico系统特性. 三种方式部署calicoctl:①二进制安装:②docker安装:③运行 ...

  7. CCF201812-3 CIDR合并

    按题意模拟即可...主要CCF吞代码... #include<bits/stdc++.h> #define pb push_back #define mp make_pair #defin ...

  8. 大规模使用 Apache Kafka 的20个最佳实践

    必读 | 大规模使用 Apache Kafka 的20个最佳实践 配图来源:书籍<深入理解Kafka> Apache Kafka是一款流行的分布式数据流平台,它已经广泛地被诸如New Re ...

  9. locate命令

    locate命令介绍 locate(locate) 命令用来查找文件或目录. locate命令要比find -name快得多,原因在于它不搜索具体目录,而是搜索一个数据库/var/lib/mlocat ...

  10. CentOS7_防火墙

    1.查看防火墙状态 firewall-cmd --state 2.启动防火墙 systemctl start firewalld.service 3.关闭防火墙 systemctl stop fire ...