`

shell字符串的截取和替换

阅读更多
将多个空格替换为一个空格
sed 's/[ ][ ]*/ /g'
如果空格与tab共存时用
sed -e 's/[[:space:]][[:space:]]*/ /g' filename

KILL -9 用于强行杀死进行的进程
ps -e | grep 进程名(部分或全部)|cut -b 1-7 |xargs kill -9
ps -e | grep 进程名(部分或全部)|awk '{print $1}'|xargs kill -9

linux shell substr(分割字符串)

在shell中如果遇到要截取字符串的情况,就调用awk中的substr来实现。
如,有一字符串"20130101235959",现在要截取第1个到第8个字符的字符串区间。
则可以:
[test ~]$ export str="20130101235959"
[test ~]$ echo ${str:0:(11-3)}
20130101
[test ~]$ unset str
[test ~]$date --date="20130101" +%Y-%m-%d
2013-01-01

从以上第二个表达式可以看出这个用法,即:${str:0:(11-3)}
可以归纳为:${str:beginindex:len},且支持表达式,如:11-3。

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

1.expr substr "$a" 1 8
2.echo $a|awk '{print substr(,1,8)}'
3.echo $a|cut -c1-8
4.echo $
5.expr $a : '\(.\\).*'
6.echo $a|dd bs=1 count=8 2>/dev/null

二、按指定的字符串截取
1、第一种方法:
${varible##*string} 从左向右截取最后一个string后的字符串
${varible#*string}从左向右截取第一个string后的字符串
${varible%%string*}从右向左截取最后一个string后的字符串
${varible%string*}从右向左截取第一个string后的字符串
“*”只是一个通配符可以不要

例子:
$ MYVAR=foodforthought.jpg
$ echo ${MYVAR##*fo}
rthought.jpg
$ echo ${MYVAR#*fo}
odforthought.jpg

2、第二种方法:${varible:n1:n2}:截取变量varible从n1到n2之间的字符串。

可以根据特定字符偏移和长度,使用另一种形式的变量扩展,来选择特定子字符串。试着在 bash 中输入以下行:

$ EXCLAIM=cowabunga
$ echo ${EXCLAIM:0:3}
cow
$ echo ${EXCLAIM:3:7}
abunga

这种形式的字符串截断非常简便,只需用冒号分开来指定起始字符和子字符串长度。

三、按照指定要求分割:
比如获取后缀名
ls -al | cut -d "." -f2
分享到:
评论

相关推荐

    shell字符串的截取

    Shell 字符串截取、查找、替换 Shell 字符串截取是指在 Shell 编程中对字符串进行截取、查找、替换等操作。下面将详细介绍 Shell 字符串截取的知识点。 一、字符串截取 Shell 字符串截取可以使用多种方法,以下是...

    shell 字符串操作

    子字符串截取** - **${string:position}**: 从指定位置开始截取字符串。 - 示例: ```bash str="Hello World" echo "${str:6}" # 输出: World ``` - **${string:position:length}**: 从指定位置开始截取指定...

    shell 批量处理 字符串指令行

    首先,让我们了解一些基本的shell字符串处理命令: 1. **变量赋值**:在shell中,我们可以通过`var="string"`来定义一个字符串变量。 2. **引用**:双引号(`"`)内的变量会被解析,单引号(`'`)内的变量则不会。例如...

    shell 字符串操作(长度,查找,替换)详解

    代码如下:工作中字符串操作举例 filename=’/home/admin/jobs/CnClickstat/DFSLoader/loader.cfg’ #下面是使用shell字符串操作 buName1=${filename#*/jobs/} #去除’/home/admin/jobs/CnClickstat/DFSLoader/loader...

    BASH 中的字符串处理

    三、字符串截取 - `${var}`:输出整个字符串。 - `${var:offset}`:从offset位置开始截取字符串。 - `${var:offset:length}`:从offset位置开始截取length个字符。 例如: ```bash str="Example String" echo ${...

    GenweiWu#Blog#Linux Shell字符串操作1

    1. 判断读取字符串值 2. 字符串长度、截取、替换 3.练习

    总结的7个shell字符串操作方法和实例分享

    本文将详细介绍7种常用的Shell字符串操作方法,并通过实例进行演示,帮助读者更好地理解和应用这些技巧。 1. **获取字符串长度** 获取字符串长度通常使用`${#string}`或`expr length $string`。例如: ```bash ...

    Bash Shell字符串操作小结

    本文将对Bash Shell字符串操作进行详细的总结,包括取长度、查找位置、选取与截取子串、字符串替换以及比较和连接等方法。 1. **取长度** 取得字符串长度有两种方式。第一种是使用`expr length`命令,如`expr ...

    解析使用substr截取UTF-8中文字符串出现乱码的问题

    为了解决这个问题,可以使用`mb_substr`函数,它是PHP提供的一个多字节安全的字符串截取函数,能够正确处理UTF-8等多字节编码。但是,如果在不支持`mbstring`扩展的环境中,可以编写自定义函数来实现类似功能。给定...

    shell脚本字符串和数组的使用操作方法

    在Shell脚本编程中,字符串和数组是两种重要的数据类型,它们被广泛应用于处理和组织文本数据。本文将深入探讨如何在Shell脚本中使用这两种数据结构。 首先,让我们来看看字符串。在Shell脚本中,字符串可以用单...

    Shell字符串比较相等、不相等方法小结

    #shell中对变量的值添加单引号,爽引号和不添加的区别:对类型来说是无关的,即不是添加了引号就变成了字符串类型, #单引号不对相关量进行替换,如不对$符号解释成变量引用,从而用对应变量的值替代,双引号则会...

    Shell从入门到工作几百页笔记.pdf

    此外,笔记还介绍了如何使用`cut`命令进行更复杂的字符串截取,这对于处理多列数据文件尤其方便。 除了上述内容,笔记还可能涉及更多章节,如条件语句(if-else)、循环结构(for, while)、函数定义、错误处理、...

    SqlServer类似正则表达式的字符处理问题

    1. 同一个字符/字符串,出现了多少次 2. 同一个字符,第N次出现的位置 3. 多个相同字符连续,合并为一个字符 4. 是否为有效IP/身份证号/手机号等  一. 同一个字符/字符串,出现了多少次 同一个字符,将其替换为...

    shell中变量替换.docx

    在Shell编程中,变量替换和测试是至关重要的概念。Shell是一种解释型的脚本语言,广泛应用于Linux和Unix系统中,用于自动化系统管理任务。在Shell中,变量用于存储数据,而变量替换则是提取、修改或操作这些变量值的...

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

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

    shell从入门到精通

    2. 字符串处理:Shell脚本中常常需要处理字符串,例如获取字符串长度、字符串切片、替换字符串、截取子串等。Shell提供了丰富的字符串操作功能。 3. 表达式与运算符:Shell脚本支持条件表达式、比较符(包括整数...

    Shell 编程从入门到精通绝版收藏

    在字符串处理章节中,Shell编程提供了丰富的字符串处理技巧,包括获取字符串长度、字符串切片、替换字符串、字符串截取以及变量状态赋值等。字符串处理是Shell编程中的核心内容,熟练掌握这些技巧对于后续的编程实践...

    Shell实用技巧:快速去除字符串中的空格

    在UNIX上使用sed命令进行字符串处理中常常遇到的问题就是行首行尾的空格怎么删除。 下面介绍sed是怎样实现的,当然awk同样可以。 1、删除行首空格 代码如下: sed ‘s/^[ \t]*//g’ 说明: 第一个/的左边是s表示...

Global site tag (gtag.js) - Google Analytics