`
hegz
  • 浏览: 441174 次
  • 性别: Icon_minigender_1
  • 来自: 茂名
社区版块
存档分类
最新评论

BASH 中的字符串处理

阅读更多

得到长度

%x="abcd"
# 方法一
%expr length $x
4
# 方法二
%echo ${#x}
4
# 方法三
%expr "$x" : ".*"
4
# expr 的帮助
# STRING : REGEXP   anchored pattern match of REGEXP in STRING
 

查找子串

%expr index  $x "b"
2
%expr index  $x "a"
1
%expr index  $x "b"
2
%expr index  $x "c"
3
%expr index  $x "d"
4

 
得到子字符串

# 方法一
# expr <string> startpos length
%expr substr "$x" 1 3
abc
%expr substr "$x" 1 5
abcd
%expr substr "$x" 2 5
bcd
# 方法二
# ${x:pos:lenght}
%echo ${x:1}
bcd
%echo ${x:2}
cd
%echo ${x:0}
abcd
%echo ${x:0:2}
ab
%pos=1
%len=2
%echo ${x:$pos:$len}
bc

 
匹配正则表达式

# 打印匹配长度
%expr match $x "."
1
%expr match $x "abc"
3
%expr match $x "bc"
0
 

字符串的掐头去尾

%x=aabbaarealwwvvww
%echo "${x%w*w}"
aabbaarealwwvv
%echo "${x%%w*w}"
aabbaareal
%echo "${x##a*a}"
lwwvvww
%echo "${x#a*a}"
bbaarealwwvvww
 

其中 , # 表示掐头, 因为键盘上 # 在 $ 的左面。
其中 , % 表示%,  因为键盘上 % 在 $ 的右面。
单个的表示最小匹配,双个 表示最大匹配。
也就是说,当匹配的有多种方案的时候,选择匹配的最大长度还是最小长度。

字符串的替换

%x=abcdabcd
%echo ${x/a/b} # 只替换一个
bbcdabcd
%echo ${x//a/b} # 替换所有
bbcdbbcd
 

不 可以使用 regexp , 只能用 * ? 的文件扩展方式。

分享到:
评论

相关推荐

    bash过滤字符串的命令介绍

    在Linux系统中,Bash shell提供了一系列强大的命令来处理字符串,这些命令包括grep、sed、cut等。本文将详细介绍这些命令的功能、参数及其使用方法。 首先,让我们来看看grep命令。grep全称为Global Regular ...

    linux bash字符串处理大全

    本文将详细介绍Bash中关于字符串处理的各种技巧与方法,帮助读者更好地理解和掌握这一技能。 #### 二、字符串长度获取 在Bash中,获取字符串长度的方法有很多种,以下是几种常用的方式: 1. **使用`expr length`...

    shell 批量处理 字符串指令行

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

    shell中字符串处理方

    ### Shell中的字符串处理方法 #### 引言 在Shell编程中,字符串处理是一项重要的技能,尤其是在Linux环境下。本文将深入探讨几种高效的字符串处理技术,并通过实际示例展示这些技巧的应用场景。 #### 字符串截断 ...

    Bash字符串常用操作

    本文档详细介绍了Bash字符串操作中的参数扩展功能,该功能允许用户根据变量的值或是否存在来动态地替换变量值。参数扩展是Bash编程中常用的技术之一,尤其适用于编写脚本时变量处理。以下是根据文档内容总结的各个...

    deline一个ES6字符串标记能够删除多行字符串中多余的换行

    在JavaScript开发中,字符串处理是一项常见的任务,尤其是在处理多行文本时。ES6引入了许多新的语法特性,使得处理字符串变得更加方便。"deline"是一个专为处理多行字符串设计的库,它专注于删除多余的换行符,从而...

    Bash Shell字符串操作小结

    在Bash Shell中,字符串操作是日常脚本编写中...掌握这些Bash Shell字符串操作技巧,将有助于编写更高效、更灵活的脚本,解决各种文本处理任务。在实际使用中,根据具体需求选择合适的方法,可以极大地提高工作效率。

    linux 字符串操作

    在 Linux 中,可以使用 Bash 内置的字符串替换功能或者 `awk` 和 `sed` 命令来进行字符串替换。 1. **使用 `${variable//pattern/replacement}`:** ```bash $ echo ${var//_/} get_thelengthofme ``` `${...

    shell中字符串截取

    `awk`是一种强大的文本处理工具,可以用于复杂的字符串处理任务。 - **语法**: `echo $string | awk '{print substr($0, start, length)}'` - `$string`: 输入的字符串。 - `start`: 开始位置。 - `length`: 截取...

    shell 字符串操作

    ### Shell 字符串操作详解 #### 一、引言 在Shell编程中,字符串操作是一项基本而重要的技能。无论是简单的脚本还是复杂的自动化任务,掌握如何有效地...希望本文能帮助读者更好地理解和运用Shell中的字符串处理技术。

    Shell脚本中计算字符串长度的5种方法

    在日常的Shell脚本开发工作中,我们经常需要处理字符串,其中计算字符串长度是一个常见的需求。本文将详细介绍五种在Shell脚本中计算字符串长度的方法,并对每种方法进行详细的解析,帮助读者更好地理解和掌握这些...

    C语言合并多个char *类型的字符串

    在C语言中,合并多个`char *`类型的字符串是一项常见的任务,这通常涉及到字符串操作和内存管理。在给定的场景中,`main.c`文件是测试程序,它调用了`tools.h`头文件中定义的`MultiCombine`函数,这个函数的目的是将...

    unix字符串截取(总结)

    ### Unix字符串截取方法详解 在Unix环境下进行字符串截取是一项常见的操作需求,...掌握了这些命令,不仅可以在日常工作中提高效率,还能应对各种复杂的字符串处理需求。希望本文能帮助大家更好地理解和应用这些命令。

    Base64文本字符串解码编码双向解析转换工具

    在这个特殊的场景下,我们讨论的是一个专门针对文本字符串的Base64编码和解码工具,而非处理整个文件。 Base64编码的原理是将每3个字节(24位)的数据分为4个6位的块,每个6位块对应Base64字符集中的一个字符。Base...

    命令行下在文件中查找并替换匹配的字符串的工具

    当我们需要在大量文本文件中快速查找并替换特定字符串时,`sed`(Stream Editor)就是一个非常强大的工具。`sed` 是一个流编辑器,它可以从输入流(通常是文件或管道)中读取数据,对数据进行处理,然后将处理后的...

    检验字符串是否包含简体字(针对繁体字和简体字不同的情况)

    在IT行业中,字符串处理是一项基础且重要的任务,尤其是在文本分析、自然语言处理和信息检索等领域。本主题聚焦于“检验字符串是否包含简体字”,这是一个常见的需求,特别是在处理中文文本时,尤其是当文本中可能...

    Shell编程范例之字符串操作-TinyLab原创

    总之,Shell编程中的字符串操作是实现各种文本处理任务的基础,无论是简单的字符检测还是复杂的文本处理,都可以通过Shell脚本来高效完成。掌握好字符串操作的相关知识,对于提升Shell编程能力具有重要意义。

    java 文本字符串替换工具

    在Java编程语言中,文本字符串替换是一个常见的任务,特别是在处理大量文本数据时。这个"java 文本字符串替换工具"很可能是为了帮助开发者高效地搜索和替换文件中的特定文本内容。让我们详细了解一下如何在Java中...

    shell中字符串、数值的比较.rar_shell中字符串、数值的比较

    综上所述,掌握这些基本的字符串和数值比较方法,你就可以编写出更复杂的Shell脚本来处理各种逻辑判断和流程控制。熟练运用这些技巧,可以极大地提高你在系统管理和自动化任务中的效率。通过实践和不断地学习,你将...

Global site tag (gtag.js) - Google Analytics