如何在 Bash 中抽取子字符串

所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “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中国媒体

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏深度学习计算机视觉

【ECCV 2018 .Jian Sun】DetNet: A Backbone network for Object Detection

【Background】:ECCV is one of the top conferences in computer vision,In this blog,...

1181
来自专栏数值分析与有限元编程

Fortran知识 | 代码错误(无法解析的外部符号)

如图所示,提示为:无法解析的外部符号。 ? 找不到某些函数或子程序。如果这些函数或子程序在函数库中,没有正确被使用;如果被提示的函数应该是数组,可能没有定义为数...

3339
来自专栏机器之心

Julia 1.0 正式发布,这是新出炉的一份简单中文教程

文章地址:https://zhuanlan.zhihu.com/p/41802723

1472
来自专栏aCloudDeveloper

string 之 strchr函数 和 strstr函数(BF算法和KMP算法的应用)

Author: bakari  Date: 2012/8/9 继上篇。。。。。 下面是我写的代码与源码作的一些比较,均已严格测试通过,分别以“string 之”...

2189
来自专栏yw的数据分析

bam文件softclip , hardclip ,markduplicate的探究

  测序产生的bam文件,有一些reads在cigar值里显示存在softclip,有一些存在hardclip,究竟softclip和hardclip是怎么判断...

4269
来自专栏程序猿DD

IntelliJ IDEA 复杂的重构技巧

本文作者:ice1000 原文链接:http://ice1000.org/2017/12/21/IDEARefactoring/ 重构是 IDE 给人类生活带来...

20710
来自专栏冰霜之地

Google S2 中的四叉树求 LCA 最近公共祖先

首先需要回顾一下希尔伯特曲线的生成方式,具体代码见笔者上篇文章的分析,在这个分析中,有4个方向比较重要,接下来的分析需要,所以把这4个方向的图搬过来。

633
来自专栏IT 指南者专栏

Python 从入门到入门基础练习十五题

微信公众号:compassblog 欢迎关注、转发,互相学习,共同进步! 有任何问题,请后台留言联系! ? 1、永远的 HelloWorld print("He...

5567
来自专栏编程

大神用Python编写虚拟机解释器

群内不定时分享干货,包括最新的python企业案例学习资料和零基础入门教程,欢迎初学和进阶中的小伙伴入群学习交流 ? 环境介绍 环境采用带桌面的Ubuntu L...

1718
来自专栏ml

斗地主算法

       不得不承认,算法搁置了一些时间,代码的风格下降了好多!  贴上一个曹点多多且丑的代码!  Orz...  题目要求:      编码:3表示3点 ...

6528

扫码关注云+社区