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

相关文章

来自专栏数说戏聊

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

9720
来自专栏技术/开源

从C#到TypeScript - 接口

从C#到TypeScript - 接口 为了更好的抽象出行为和属性,TypeScript在ES6的基础上增加了接口interface。 C#也有interfa...

21070
来自专栏GreenLeaves

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

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

25360
来自专栏好好学习吧

python:求整数的二进制表示

运行结果: C:\Users\suneee\AppData\Local\Programs\Python\Python36\python.exe E:/wan...

26730
来自专栏上善若水

006-golang中XML文件的处理

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

26720
来自专栏从流域到海域

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

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

20380
来自专栏Coding迪斯尼

Reactjs+BootStrap开发自制编程语言Monkey的编译器:词法解析1

12210
来自专栏前端新视界

相邻不重复随机数的生成及优化

生成相邻不重复随机数是之前抽奖插件的遗留问题,在之前的文章中已经简单说过,但没有更好的解决方案。经过一个多月的修改,抽奖插件已经趋于完善,在此分享一下这个问题的...

29050
来自专栏Golang语言社区

Go语言核心之美 -JSON

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

43260
来自专栏JAVA高级架构

组合模式(Composite)

9420

扫码关注云+社区

领取腾讯云代金券