美文网首页
shell字符串截取

shell字符串截取

作者: 晚辈曾阿牛 | 来源:发表于2019-04-06 22:59 被阅读0次

前沿

在编写shell脚本的时候,很多情况下,我们都会遇到截取字符串的一部分这种需求。由于不同的原始字符串差距较大,导致解决这个的方法也分不同的情况。
所以这篇文章不可能一次性的全部写完,我会边写边改,也会不停的升级更新。

知道关键字进行截取

第一种情况是字符串只有一行,且这一行的内容没有什么特殊的分隔符,比如每个字段之间用空格分开。
也就是说这是一串乱码字符串,我们需要在这串乱码字符串中截取某一个关键字之前或者之后的内容。

// 下面的varible表示的是需要处理的字符串变量
// string是需要在变量中搜索匹配的字符串
// “*”是一个通配符,位置按照下面的配置即可

${varible#*string}          // 从左向右截取第一个string后的字符串
${varible##*string}        // 从左向右截取最后一个string后的字符串

${varible%%string*}     // 从右向左截取最后一个string后的字符串
${varible%string*}        // 从右向左截取第一个string后的字符串

通过观察上面的描述,想必大家都清楚怎么使用了吧:

  • 从左往右,用井号操作符;
  • 从左往右,通配符在字符串左边;
  • 从右往左,用百分号操作符;
  • 从右往左,通配符在字符串的右边;
  • 从第一个查找,用一个操作符;
  • 从最后一个查找,用两个操作符;

下面进行举例说明:
先假设我需要处理的字符串是MyVar。

MyVar=Test1Test2Test3LuanMaTest2Test3.Test4       //  定义变量MyVar
echo $MyVar                //  将MyVar这个变量打印出来
//得到的结果是:       Test1Test2Test3LuanMaTest2Test3.Test4

echo ${MyVar#*Test2}
//得到的结果是:        Test3LuanMaTest2Test3.Test4
echo ${MyVar##*Test2}
//得到的结果是:        Test3.Test4

echo ${MyVar%Test2*}
//得到的结果是:        Test1Test2Test3LuanMa
echo ${MyVar%%Test2*}
//得到的结果是:        Test1

知道字符串的具体位置进行截取

假设我们需要从原来字符串中截取一个固定位置的子字符串,那么可以用类似于编程语言中的索引进行截取。

${varible:n1:n2}        ## 截取变量varible从n1开始的n2个字符,组成一个子字符串。
## 注意是n1开始,然后是截取n2个字符,并不是截取到n2的位置

## 继续以上面的$MyVar 为例进行说明
echo ${MyVar:5:10}
##得到的结果是:      Test2Test3

以上两种方式都针对的是简单的字符串,也就是一行乱码字符串的情况下,进行处理。
其余的待续。

相关文章

  • mac 终端常见命令

    切换shell 截取字符串 shell字符串的截取 shell字符串的截取 Shell脚本8种字符串截取方法总...

  • Mac常用命令

    linux shell 字符串操作详解 (长度,读取,替换,截取,连接,对比,删除,位置 )Linux Shell...

  • 2021-04-08 iOS一键批量解析符号化crash日志文件

    参考资料: shell字符串截取:https://blog.csdn.net/ljianhui/article/d...

  • shell中${}的使用

    在shell中经常要对变量进行字符串的截取操作,虽然截取字符串的方法很多,在这里用${}的方法操作变量应该是最简洁...

  • shell 字符串截取

    ${#var} 获取长度${varible##string} 从左向右截取最后一个string后的字符串...

  • shell字符串截取

    cut 命令 grep 在文件中提取行,cut awk sed 提取列 cut [选项] 文件名 -f 提取第几列...

  • shell字符串截取

  • shell字符串截取

    前沿 在编写shell脚本的时候,很多情况下,我们都会遇到截取字符串的一部分这种需求。由于不同的原始字符串差距较大...

  • week(6)shell中字符串的处理

    摘要:shell中字符串的处理 对字符串的处理 包括:截取,连接,匹配,替换,翻转... ... 一天累积一点! ...

  • shell图形化界面脚本实现

    1.基于架构/角色进行检测2.检测网络端口映射是否正常3.检测其进程/启动。 shell字符串拼接截取,shell...

网友评论

      本文标题:shell字符串截取

      本文链接:https://www.haomeiwen.com/subject/revdiqtx.html