如果是一般路径的字符截断可以用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中的字符串处理提供了丰富的功能,使得在命令行环境下对文本数据的处理变得灵活而高效。了解并熟练掌握这些技巧,能大大提高工作效率,尤其在编写自动化脚本时。通过实践和练习,你将能够更好地驾驭这些...
在Linux系统中,Bash shell提供了一系列强大的命令来处理字符串,这些命令包括grep、sed、cut等。本文将详细介绍这些命令的功能、参数及其使用方法。 首先,让我们来看看grep命令。grep全称为Global Regular ...
bash写的字符串常用函数,这个可以看看。资源分就免了
本文档详细介绍了Bash字符串操作中的参数扩展功能,该功能允许用户根据变量的值或是否存在来动态地替换变量值。参数扩展是Bash编程中常用的技术之一,尤其适用于编写脚本时变量处理。以下是根据文档内容总结的各个...
Bash 提供了一系列特殊字符,使得用户能够更高效地处理文件和执行各种任务。以下是对这些特殊字符的详细说明: 1. **通配符**: - `*`:代表任意数量的字符序列,包括空字符。例如,`f*` 匹配所有以 `f` 开头的...
在Bash Shell中,字符串操作是日常脚本编写中非常常见且重要的部分。本文将对Bash Shell字符串操作进行详细的总结,包括取长度、查找位置、选取与截取子串、字符串替换以及比较和连接等方法。 1. **取长度** 取得...
Bash是Unix shell的免费实现,兼容 Unix shell的所有功能,并且添加了一些新的功能。 2. Shell是什么? Shell是一个命令行接口,用户可以通过命令行与操作系统进行交互。Shell提供了一个交互式的命令行环境,用户...
bash下bash-completion包则提供了tab键补充二级命令的功能,其本质是在/etc/bash-completion.d/目录下创建了相应的tab键补全策略,可以手动添加自定义的补全功能。
第四章节是 shell 扩展,讲解了 shell 的扩展功能,包括变量、数组、关联数组等。第五章节是 shell 语法,讲解了 shell 的语法结构,包括命令、函数、流程控制等。第六章节是文件描述符,讲解了文件描述符的使用方法...
它包含了Bash命令、函数和常用语句的列表,当用户在编辑Bash脚本时输入某些字符时,EditPlus会提供相应的自动补全建议。这大大减少了手动键入的时间,提高了编码速度。此外,自动补全功能还能帮助减少拼写错误,确保...
通配符是指 bash 中的一种特殊字符,用于匹配多个文件或目录。 四、查看使用过的命令(history)和定义命令的别名(alias) bash 中可以查看使用过的命令历史记录(history),并可以定义命令的别名(alias),...
总之,Bash是一个功能强大的shell,不仅适用于日常命令行操作,也是编写复杂脚本和自动化任务的理想选择。掌握Bash的基础知识,能让你更高效地与Linux系统交互。通过实践和学习,你可以深入理解其内在机制,进一步...
**Bash 入门学习实例** Bash,全称是“Bourne-Again SHell”,是...通过这些实例和练习,你可以逐步熟悉Bash的语法和功能,提升命令行操作和自动化任务处理的能力。不断实践和探索,你将能更好地驾驭这个强大的工具。
- **删除字符串中的所有空白并用空格分割单词**:利用Bash的内部字段分离 (`IFS`) 和参数扩展,可以实现字符串中多个连续空格替换为单个空格,并去除前导和尾随空格。 2. **正则表达式匹配**: - **在字符串上...
Bash中的变量用于存储数据,包括字符串、数字和特殊变量(如$0表示脚本名,$#表示参数数量)。理解变量的声明、赋值以及如何使用环境变量和位置参数至关重要。 **3. 输入/输出重定向** Bash支持将命令的标准输出...
### Linux Bash 字符串处理大全 #### 一、引言 在Linux环境下,Bash脚本是一种非常强大的工具,能够帮助我们高效地处理各种任务,包括但不限于文本处理、系统管理等。本文将详细介绍Bash中关于字符串处理的各种技巧...
Bash是一个功能强大的工具,它为用户提供了通过命令行与系统交互的能力。Bash版本5.0是我们在本文档所讨论的版本,它在2019年5月进行了更新。 首先,需要理解什么是Bash。Bash代表的是“Bourne Again SHell”,它是...
Bash的大部分功能与sh兼容,同时还加入了额外的功能,例如命令历史、任务控制、函数支持等。Bash的参考手册通常会详细介绍其语法、内置命令、脚本编写技巧以及与其他shell的兼容性等。 在Linux系统中,Bash是默认的...
5. **Shell语法**:详细说明了如何在Bash中使用引号、转义字符、注释等语法元素,以及如何引用和操作变量。 综上所述,《GNU Bash 参考手册》是一部全面而深入的指南,不仅适合初学者了解Bash的基础知识,也适合有...