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中字符串截取方法及其应用场景。 ...
一、Gnu Linux shell 截取字符变量的前8位,...二、按指定的字符串截取 1、第一种方法: ${varible##*string} 从左向右截取最后一个string后的字符串 ${varible#*string}从左向右截取第一个string后的字符串 ${varible%
一、Linux shell 截取字符变量的前8位...二、按指定的字符串截取1、第一种方法:${varible##*string} 从左向右截取最后一个string后的字符串${varible#*string}从左向右截取第一个string后的字符串${varible%%string*}从
P13和P14涉及到了变量子串的语法,如如何使用`#`和`%`进行字符串截取和替换。在P18中,展示了如何通过shell脚本自动批量修改文件名,使用for循环和字符串操作配合`mv`命令实现。 P19介绍了shell的扩展变量,它们在...
根据给定的Linux shell脚本,我们可以深入探讨与身份证号码验证相关的知识点,特别是针对中国身份证号码的15位和18位格式的处理方法。以下是对脚本中关键部分的详细解析: ### Linux Shell编程验证身份证号码 ####...
### Shell中的字符串处理方法 #### 引言 在Shell编程中,字符串...无论是简单的字符串截取还是更复杂的文本分析任务,这些技巧都能提供强大的支持。希望本文介绍的内容能帮助你在日常的Shell编程工作中更加得心应手。
通过编写shell脚本,我们可以实现对字符串进行各种操作,自动化执行一系列命令行指令,从而提高工作效率。这篇博客“shell批量处理字符串指令行”可能探讨了如何利用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脚本编程中,处理字符串是常见的任务之一。本文将详细介绍如何在Shell中截取字符串,以及各种不同的方法和示例,帮助你更好地理解和运用这些技巧。 首先,我们有几种基本的截取字符串的方法,它们都...
Linux 的字符串截取很有用。有八种方法。 假设有变量 var=http://www.aaa.com/123.htm. 1. # 号截取,删除左边字符,保留右边字符。 代码如下: echo ${var#*//} 其中 var 是变量名,# 号是运算符,*// 表示从左边...
shell数组循环 测试shell数组,循环的例子: arr=(a b c) echo 所有的内容如下:${arr[@]} echo 数组的长度:${#arr[*]} ... 您可能感兴趣的文章:Shell获取字符串长度的多种方法总结用Shell判断字符串包含
在Shell脚本中,所有变量本质上都是字符串,无需预先声明。要赋值给变量,只需直接写入,如`a="hello world"`。获取变量的值时,需使用 `$` 符号,如`echo $a`。需要注意的是,如果变量名与相邻的文字混合,应使用花...
我们有这样一个字符串: 代码如下: info=’abcd;efgh’ 现在想获取abcd和efgh,我们可以简单地用cut工具来获取: ... 您可能感兴趣的文章:Shell获取字符串长度的多种方法总结用Shell判断字符串包含
背景:执行shell命令,抓取shell返回信息中的所需信息,已udhcpc为例获取DNS的地址。 暂不作处理,执行udhcpc。 使用grep过滤掉无用信息,执行 udhcpc | grep “DNS...最后使用tr去除字符串最后的\n,默认会包含。执行
此外,Shell脚本还支持字符串操作,如字符串截取、连接等。同时,我们可以使用`((...))`进行数值计算,比如`(a=$((b+c)))`用于计算`b`和`c`的和并赋值给`a`。`read`命令用于从用户那里读取输入,`-p`选项用于设置...
Shell脚本支持基本的字符串操作,包括获取长度、截取子串等。 示例: ```sh string="abcd" echo ${#string} # 输出:4 str="hello shell" echo ${str:2} # 输出:llo shell echo ${string:1:3} # 输出:ell ``` ##...
获取字符串长度、字符串切片、替换字符串、字符串截取以及变量状态赋值是常见的字符串处理方法。此外,还可以使用特定的语法为字符串添加颜色,提高输出信息的可读性。 Shell脚本中表达式和运算符是控制逻辑流的...
4. **字符串截取**:`echo ${name:1}`从第二个字符开始截取至字符串末尾。 5. **变量状态赋值**:`var=$(( var + 1 ))`可以对变量进行算术运算并赋值。 6. **字符串颜色**:利用ANSI转义码,如`\033[31m`设置文本...