`

Linux shell脚本的字符串截取

 
阅读更多

Linux 的字符串截取很有用。有八种方法。

假设有变量 var=http://www.hao.com/123.htm

 

# 号截取,删除左边字符,保留右边字符。 

echo ${var#*//}

其中 var 是变量名,# 号是运算符,*// 表示从左边开始删除第一个 // 号及左边的所有字符

即删除 http://

结果是www.hao.com/123.htm.

 

## 号截取,删除左边字符,保留右边字符。

echo ${var##*/}

##*/ 表示从左边开始删除最后(最右边)一个 / 号及左边的所有字符

即删除 http://www.hao.com/          

结果是 123.htm

 

%号截取,删除右边字符,保留左边字符

echo ${var%/*}

%/* 表示从右边开始,删除第一个 / 号及右边的字符

结果是:http://www.hao.com

 

 %% 号截取,删除右边字符,保留左边字符

echo ${var%%/*}

%%/* 表示从右边开始,删除最后(最左边)一个 / 号及右边的字符

结果是:http:

 

从左边第几个字符开始,及字符的个数

echo ${var:0:5}

 

其中的 0 表示左边第一个字符开始,5 表示字符的总个数。

结果是:http:

 

从左边第几个字符开始,一直到结束。

echo ${var:7}

其中的 7 表示左边第8个字符开始,一直到结束。

结果是 www.hao.com/123.htm

 

 从右边第几个字符开始,及字符的个数

echo ${var:0-7:3}

 

其中的 0-7 表示右边算起第七个字符开始,3 表示字符的个数。

结果是:123

 

从右边第几个字符开始,一直到结束。

echo ${var:0-7}

表示从右边第七个字符开始,一直到结束。

结果是:123.htm

 

九字符的长度${#string}

${#var }

结果是:24

 

注:(左边的第一个字符是用 0 表示,右边的第一个字符用 0-1 表示)

 

 

${expression}一共有9种使用方法。
${parameter:-word}
${parameter:=word}
${parameter:?word}
${parameter:+word} 
上面4种可以用来进行缺省值的替换。


${#parameter}
上面这种可以获得字符串的长度。 
${parameter%word}
最小限度从后面截取word
${parameter%%word}
最大限度从后面截取word
${parameter#word}
最小限度从前面截取word
${parameter##word}
最大限度从前面截取word
上面4个就是用来截取字符串的方法了。有了着四种用法就不必使用cut命令来截取字符串了。
shell里面使用外部命令会降低shell的执行效率。特别是在循环的时候。

 

 

分享到:
评论

相关推荐

    shell中字符串截取

    ### Shell中字符串截取 在Shell脚本编程中,对字符串进行截取是常见的操作之一。通过对字符串的处理,可以实现各种数据解析、文件名提取等实用功能。本文将详细介绍几种常用的Shell中字符串截取方法及其应用场景。 ...

    shell编程中的字符串截取方法小结

    一、Gnu Linux shell 截取字符变量的前8位,...二、按指定的字符串截取 1、第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%

    Shell字符串截取的详细方法

    一、Linux shell 截取字符变量的前8位...二、按指定的字符串截取1、第一种方法:${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从

    Linux shell脚本的补充

    P13和P14涉及到了变量子串的语法,如如何使用`#`和`%`进行字符串截取和替换。在P18中,展示了如何通过shell脚本自动批量修改文件名,使用for循环和字符串操作配合`mv`命令实现。 P19介绍了shell的扩展变量,它们在...

    Linux shell编程 验证身份证号码(15/18)

    根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...

    shell中字符串处理方

    ### Shell中的字符串处理方法 #### 引言 在Shell编程中,字符串...无论是简单的字符串截取还是更复杂的文本分析任务,这些技巧都能提供强大的支持。希望本文介绍的内容能帮助你在日常的Shell编程工作中更加得心应手。

    shell 批量处理 字符串指令行

    通过编写shell脚本,我们可以实现对字符串进行各种操作,自动化执行一系列命令行指令,从而提高工作效率。这篇博客“shell批量处理字符串指令行”可能探讨了如何利用shell的特性来处理字符串,包括查找、替换、截取...

    Linux shell 获得字符串所在行数及位置的方法

    01 获取字符串所在的行数 方式一:用grep -n [root@root]# cat test apple bit create delect exe flow good [root@root]# cat test | grep -n exe 5:exe [root@root]# cat test | grep -n exe | awk -F : '{...

    Linux Shell 截取字符串的方法示例

    在Linux Shell脚本编程中,处理字符串是常见的任务之一。本文将详细介绍如何在Shell中截取字符串,以及各种不同的方法和示例,帮助你更好地理解和运用这些技巧。 首先,我们有几种基本的截取字符串的方法,它们都...

    Shell脚本8种字符串截取方法总结

    Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 代码如下: echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边...

    Linux shell数组循环的实例详解

    shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} ... 您可能感兴趣的文章:Shell获取字符串长度的多种方法总结用Shell判断字符串包含

    详细介绍Linux shell脚本基础学习

    在Shell脚本中,所有变量本质上都是字符串,无需预先声明。要赋值给变量,只需直接写入,如`a="hello world"`。获取变量的值时,需使用 `$` 符号,如`echo $a`。需要注意的是,如果变量名与相邻的文字混合,应使用花...

    Shell脚本实现简单分割字符串

    我们有这样一个字符串: 代码如下: info=’abcd;efgh’ 现在想获取abcd和efgh,我们可以简单地用cut工具来获取: ... 您可能感兴趣的文章:Shell获取字符串长度的多种方法总结用Shell判断字符串包含

    Linux中Shell截取某行某列信息

    背景:执行shell命令,抓取shell返回信息中的所需信息,已udhcpc为例获取DNS的地址。 暂不作处理,执行udhcpc。 使用grep过滤掉无用信息,执行 udhcpc | grep “DNS...最后使用tr去除字符串最后的\n,默认会包含。执行

    linux shell环境以及shell脚本.docx

    此外,Shell脚本还支持字符串操作,如字符串截取、连接等。同时,我们可以使用`((...))`进行数值计算,比如`(a=$((b+c)))`用于计算`b`和`c`的和并赋值给`a`。`read`命令用于从用户那里读取输入,`-p`选项用于设置...

    Linux Shell 脚本编程总结及速查手册

    Shell脚本支持基本的字符串操作,包括获取长度、截取子串等。 示例: ```sh string="abcd" echo ${#string} # 输出:4 str="hello shell" echo ${str:2} # 输出:llo shell echo ${string:1:3} # 输出:ell ``` ##...

    Shell脚本-珍藏版

    获取字符串长度、字符串切片、替换字符串、字符串截取以及变量状态赋值是常见的字符串处理方法。此外,还可以使用特定的语法为字符串添加颜色,提高输出信息的可读性。 Shell脚本中表达式和运算符是控制逻辑流的...

    Linux Shell从入门到精通学习笔记

    4. **字符串截取**:`echo ${name:1}`从第二个字符开始截取至字符串末尾。 5. **变量状态赋值**:`var=$(( var + 1 ))`可以对变量进行算术运算并赋值。 6. **字符串颜色**:利用ANSI转义码,如`\033[31m`设置文本...

Global site tag (gtag.js) - Google Analytics