前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >如何在 Bash 中抽取子字符串

如何在 Bash 中抽取子字符串

作者头像
企鹅号小编
发布2017-12-29 10:43:11
1.6K0
发布2017-12-29 10:43:11
举报
文章被收录于专栏:企鹅号快讯企鹅号快讯

所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我们有多种方法可以从中把数字或指定部分字符串抽取出来。

-- Vivek Gite

本文导航

在 Bash 中抽取子字符串

12%

使用 IFS

29%

借助 cut 命令

72%

编译自  https://www.cyberciti.biz/faq/how-to-extract-substring-in-bash/

作者  Vivek Gite

译者  lujun9972

所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test” 的子字符串。 我们有多种方法可以从中把数字或指定部分字符串抽取出来。

How to Extract substring in Bash Shell on Linux or Unix

本文会向你展示在 bash shell 中如何获取或者说查找出子字符串。

在 Bash 中抽取子字符串

其语法为:

子字符串扩展是 bash 的一项功能。它会扩展成 值中以 为开始,长为 个字符的字符串。 假设, 定义如下:

那么下面参数的子字符串扩展会抽取出子字符串:

结果为:

其中这些参数分别表示:

10 : 偏移位置

4 : 长度

使用 IFS

根据 bash 的 man 页说明:

IFS (内部字段分隔符)

[1]

用于在扩展后进行单词分割,并用内建的 read 命令将行分割为词。默认值是。

另一种POSIX 就绪POSIX ready的方案如下:

输出为:

下面是一段 bash 代码,用来从 Cloudflare cache 中去除带主页的 url。

它的使用方法为:

借助 cut 命令

可以使用 命令来将文件中每一行或者变量中的一部分删掉。它的语法为:

想了解更多请阅读 bash 的 man 页:

另请参见:Bash String Comparison: Find Out IF a Variable Contains a Substring

[2]

via:https://www.cyberciti.biz/faq/how-to-extract-substring-in-bash/

作者:Vivek Gite

[4]

译者:lujun9972校对:wxy

本文由LCTT原创编译,Linux中国荣誉推出

LCTT 译者

lujun9972

共计翻译:13篇

贡献时间:12 天

本文来自企鹅号 - Linux中国媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文来自企鹅号 - Linux中国媒体

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档