如何在 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 条评论
登录 后参与评论

相关文章

来自专栏从流域到海域

《笨办法学Python》 第7课手记

《笨办法学Python》 第7课手记 本节课是为了巩固之前的内容,作者要求不能跳过所以就老老实实照做了。 代码如下: print "Mary had a lit...

1858
来自专栏从流域到海域

《笨办法学Python》 第25课手记

《笨办法学Python》 第25课手记 本节课内容较多,如果不理解可以先尝试做正确,然后再来理解。我们的学习已经由最初的简单向复杂转变了,希望你能咬牙坚持下来,...

2046
来自专栏移动端开发

Swift Runtime ?

你肯定也想过       在OC中相信每一个iOS开发都知道Runtime, 现在Swift也更新到4.0版本了,要是你也学习过Swift的话你可能也会想过这样...

7587
来自专栏听雨堂

Execute 方法(Find 对象)

Execute 方法(Find 对象) 运行指定的查找操作。如果查找成功,则返回 True。 语法 expression.Execute(FindText, M...

1857
来自专栏上善若水

006-golang中XML文件的处理

data),那么,字符数据会被累加到struct中第一个有tag为”,chardata”的字段。struct字段的类型可以是string或[]byte。如果没有...

1172
来自专栏漫漫深度学习路

pytorch学习笔记(十二):详解 Module 类

Module 是 pytorch 提供的一个基类,每次我们要 搭建 自己的神经网络的时候都要继承这个类,继承这个类会使得我们 搭建网络的过程变得异常简单。 本文...

3646
来自专栏Golang语言社区

Go语言核心之美 -JSON

JSON(JavaScript Object Notation)是一种发送和接收结构化信息的标准化表示法。类似的标准化协议还有XML、ASN.1、Protobu...

3546
来自专栏GIS讲堂

用GeoTools实现shp+sld导出图片

1363
来自专栏数说戏聊

04.字段抽取/拆分&记录抽取1.字段抽取2.字段拆分3.记录抽取

862
来自专栏GreenLeaves

Vue.js系列之四计算属性和观察者

一、计算属性 1、模版内的表达式非常便利,但是设计它们的初衷是用于简单计算的。在模版中放入太多的逻辑运算会让模版过重且难以维护,例如如下代码: <div id=...

2216

扫码关注云+社区