Linux 字符串截取

可以用${}分别替换得到不同的值:

${file#*/}:删掉第一个 / 及其左边的字符串:dir1/dir2/dir3/my.file.txt
${file##*/}:删掉最后一个 / 及其左边的字符串:my.file.txt
${file#*.}:删掉第一个 . 及其左边的字符串:file.txt
${file##*.}:删掉最后一个 . 及其左边的字符串:txt
${file%/*}:删掉最后一个 / 及其右边的字符串:/dir1/dir2/dir3
${file%%/*}:删掉第一个 / 及其右边的字符串:(空值)
${file%.*}:删掉最后一个 . 及其右边的字符串:/dir1/dir2/dir3/my.file
${file%%.*}:删掉第一个 . 及其右边的字符串:/dir1/dir2/dir3/my
记忆的方法为:
    # 是 去掉左边(键盘上#在 $ 的左边)
    % 是去掉右边(键盘上% 在$ 的右边)
    单一符号是最小匹配;两个符号是最大匹配
${file:0:5}:提取最左边的 5 个字节:/dir1
${file:5:5}:提取第 5 个字节右边的连续5个字节:/dir2

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏Pythonista

Golang之strings包

比较全的是golang中文网的:https://studygolang.com/articles/5769

1342
来自专栏飞雪无情的博客

golang goquery selector(选择器) 示例大全

最近研究Go爬虫相关的知识,使用到goquery这个库比较多,尤其是对爬取到的HTML进行选择和查找匹配的内容时,goquery的选择器使用尤其多,而且还有很多...

3823
来自专栏Youngxj

for循环-c语言学习笔记

1934
来自专栏前端技术总结

jQuery中parents()、parent()和closest()的区别

本方法用于选择给定jQuery对象中包含的DOM元素或者DOM元素集的祖先节点,并将这些节点包装成jQuery对象返回,返回的节点集是以从里到外的顺序排序的。

1.7K109
来自专栏web

DOM 1

1363
来自专栏Petrichor的专栏

python: str.format (字符串 格式化)

1032
来自专栏腾讯IVWEB团队的专栏

玩转 JavaScript 正则表达式

正则表达式也能帮助我们方便的进行Find&Replace;的工作,由于正则表达式的流派很多,而作者比较熟悉JS,这篇文章主要是描述JavaScript中的正则表...

2.6K0
来自专栏乐百川的学习频道

Golang学习笔记 常用数据结构

数组 声明数组 数组同样使用倒置的方式来声明,并且声明数组的时候需要指定数组长度。所以声明数组需要使用[数组长度]类型的方式来声明,如果需要在声明的同时初始化,...

2255
来自专栏深度学习思考者

C++常见问题(三)——宏定义、const、static、sizeof的相关实例

第一部分 宏定义   宏定义的语法格式:#define <标识符><字符串>,其中的标识符就是所谓的符号常量,也称为”宏名”。预处理工作也叫宏展开。宏定义不占用...

19210
来自专栏Golang语言社区

厚土Go学习笔记 | 21. range用法

range是一个内置函数。可以遍历数组、切片slice、字典map。 当遍历数组和切片的时候,返回的是索引和元素。 当遍历字典的时候,返回字典的键和值。 //r...

42210

扫码关注云+社区