`
诗意的栖居
  • 浏览: 273780 次
  • 性别: Icon_minigender_2
  • 来自: 北京
社区版块
存档分类
最新评论

Bash 自带的字符截断功能

阅读更多
如果是一般路径的字符截断可以用basename和dirname这两个工具:
basename可以从一个文件路径中截一个文件名
例如:

$ basename /home/file.tar
file.tar
dirname可以从一个文件路径中截到一个目录路径
例如:

$ dirname /home/file.tar
/home
不使用外部工具进行字符截断
bash有自带的功能来对变量进行字符截断,一般使用"##", "#", "%%", "%", "*" 组合来实现。例如:

$ string=hellowbashshell
$ echo ${string##*sh}
ell
$ echo ${string#*sh}
shell
$ echo ${string%%sh*}
hellowba
$ echo ${string%sh*}
hellowbash
"#"表示从字符开始部分除去,一旦匹配则立即除去
"##"表示从字符开始部分除去,会搜整个字符串最长的和的匹配来除去
"%"表示从字符结束的部分除去,一旦匹配成公则立即除去
"%%"表示从字符结束的部分开始除去,会搜寻整个字符穿中最长的匹配来除去
"*"统配符,一般与“##”或"#"联用时放在搜索字符串的左边,例如:${String#*sh}(在sh的左边),与"%%"或"%"联用时会放在匹配字符串的右边,例如:${String%%sh*}

常用技巧:
在路径中取文件名:${path##*/}(与basename相同功能)
在路径中取目录路径:${path%/*}(与dirname相同功能)
取文件的扩展名:${path##*.}
分享到:
评论

相关推荐

    BASH 中的字符串处理

    总结,BASH中的字符串处理提供了丰富的功能,使得在命令行环境下对文本数据的处理变得灵活而高效。了解并熟练掌握这些技巧,能大大提高工作效率,尤其在编写自动化脚本时。通过实践和练习,你将能够更好地驾驭这些...

    bash过滤字符串的命令介绍

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

    bash写的字符串常用函数

    bash写的字符串常用函数,这个可以看看。资源分就免了

    Bash字符串常用操作

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

    linuxbash特殊字符使用方法和截图[参照].pdf

    Bash 提供了一系列特殊字符,使得用户能够更高效地处理文件和执行各种任务。以下是对这些特殊字符的详细说明: 1. **通配符**: - `*`:代表任意数量的字符序列,包括空字符。例如,`f*` 匹配所有以 `f` 开头的...

    Bash Shell字符串操作小结

    在Bash Shell中,字符串操作是日常脚本编写中非常常见且重要的部分。本文将对Bash Shell字符串操作进行详细的总结,包括取长度、查找位置、选取与截取子串、字符串替换以及比较和连接等方法。 1. **取长度** 取得...

    Bash参考手册.pdf

    Bash是Unix shell的免费实现,兼容 Unix shell的所有功能,并且添加了一些新的功能。 2. Shell是什么? Shell是一个命令行接口,用户可以通过命令行与操作系统进行交互。Shell提供了一个交互式的命令行环境,用户...

    bash下tab补全功能

    bash下bash-completion包则提供了tab键补充二级命令的功能,其本质是在/etc/bash-completion.d/目录下创建了相应的tab键补全策略,可以手动添加自定义的补全功能。

    bash官方手册/Bash Reference Manual

    第四章节是 shell 扩展,讲解了 shell 的扩展功能,包括变量、数组、关联数组等。第五章节是 shell 语法,讲解了 shell 的语法结构,包括命令、函数、流程控制等。第六章节是文件描述符,讲解了文件描述符的使用方法...

    bash.acp&bash.stx

    它包含了Bash命令、函数和常用语句的列表,当用户在编辑Bash脚本时输入某些字符时,EditPlus会提供相应的自动补全建议。这大大减少了手动键入的时间,提高了编码速度。此外,自动补全功能还能帮助减少拼写错误,确保...

    Bash使用 文档.doc

    通配符是指 bash 中的一种特殊字符,用于匹配多个文件或目录。 四、查看使用过的命令(history)和定义命令的别名(alias) bash 中可以查看使用过的命令历史记录(history),并可以定义命令的别名(alias),...

    详细的Bash介绍

    总之,Bash是一个功能强大的shell,不仅适用于日常命令行操作,也是编写复杂脚本和自动化任务的理想选择。掌握Bash的基础知识,能让你更高效地与Linux系统交互。通过实践和学习,你可以深入理解其内在机制,进一步...

    bash入门学习实例

    **Bash 入门学习实例** Bash,全称是“Bourne-Again SHell”,是...通过这些实例和练习,你可以逐步熟悉Bash的语法和功能,提升命令行操作和自动化任务处理的能力。不断实践和探索,你将能更好地驾驭这个强大的工具。

    Pure Bash Bible 中文版 PDF

    - **删除字符串中的所有空白并用空格分割单词**:利用Bash的内部字段分离 (`IFS`) 和参数扩展,可以实现字符串中多个连续空格替换为单个空格,并去除前导和尾随空格。 2. **正则表达式匹配**: - **在字符串上...

    高级bash shell手册

    Bash中的变量用于存储数据,包括字符串、数字和特殊变量(如$0表示脚本名,$#表示参数数量)。理解变量的声明、赋值以及如何使用环境变量和位置参数至关重要。 **3. 输入/输出重定向** Bash支持将命令的标准输出...

    linux bash字符串处理大全

    ### Linux Bash 字符串处理大全 #### 一、引言 在Linux环境下,Bash脚本是一种非常强大的工具,能够帮助我们高效地处理各种任务,包括但不限于文本处理、系统管理等。本文将详细介绍Bash中关于字符串处理的各种技巧...

    2.l2-gnu-bash.pdf

    Bash是一个功能强大的工具,它为用户提供了通过命令行与系统交互的能力。Bash版本5.0是我们在本文档所讨论的版本,它在2019年5月进行了更新。 首先,需要理解什么是Bash。Bash代表的是“Bourne Again SHell”,它是...

    bash-Reference-Manual.pdf

    Bash的大部分功能与sh兼容,同时还加入了额外的功能,例如命令历史、任务控制、函数支持等。Bash的参考手册通常会详细介绍其语法、内置命令、脚本编写技巧以及与其他shell的兼容性等。 在Linux系统中,Bash是默认的...

    GNU Bash Reference Manual

    5. **Shell语法**:详细说明了如何在Bash中使用引号、转义字符、注释等语法元素,以及如何引用和操作变量。 综上所述,《GNU Bash 参考手册》是一部全面而深入的指南,不仅适合初学者了解Bash的基础知识,也适合有...

Global site tag (gtag.js) - Google Analytics