返回顶部
首页 > 资讯 > 精选 >Bash如何提取子字符串
  • 667
分享到

Bash如何提取子字符串

2023-06-27 18:06:20 667人浏览 安东尼
摘要

这篇文章给大家分享的是有关Bash如何提取子字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test

这篇文章给大家分享的是有关Bash如何提取子字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

Bash如何提取子字符串

在 Bash 中抽取子字符串

其语法为:

## 格式 ##${parameter:offset:length}

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

## 定义变量 u ##u="this is a test"

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

var="${u:10:4}"echo "${var}"

结果为:

test

其中这些参数分别表示:

10 : 偏移位置 4 : 长度

使用 IFS

根据 bash 的 man 页说明:

IFS (内部字段分隔符)用于在扩展后进行单词分割,并用内建的 read 命令将行分割为词。默认值是。

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

u="this is a test"set -- $uecho "$1"echo "$2"echo "$3"echo "$4"

输出为:

thisisatest

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

#!/bin/bash###################################################### Author - Vivek gite {https://www.cyberciti.biz/}## Purpose - Purge CF cache## License - Under GPL ver 3.x+###################################################### set me first ##zone_id="YOUR_ZONE_ID_HERE"api_key="YOUR_API_KEY_HERE"email_id="YOUR_EMAIL_ID_HERE"## hold data ##home_url=""amp_url=""urls="$@"## Show usage[ "$urls" == "" ] && { echo "Usage: $0 url1 url2 url3"; exit 1; }## Get home page url as we have various sub dirs on domain## /tips/## /faq/get_home_url(){local u="$1"IFS='/'set -- $uecho "${1}${IFS}${IFS}${3}${IFS}${4}${IFS}"}echoecho "Purging cache from Cloudflare。.。"echofor u in $urlsdohome_url="$(get_home_url $u)"amp_url="${u}amp/"curl -X DELETE "Https://api.cloudflare.com/client/v4/zones/${zone_id}/purge_cache" \-H "X-Auth-Email: ${email_id}" \-H "X-Auth-Key: ${api_key}" \-H "Content-Type: application/JSON" \--data "{\"files\":[\"${u}\",\"${amp_url}\",\"${home_url}\"]}"echodoneecho

它的使用方法为:

~/bin/cf.clear.cache https://www.cyberciti.biz/faq/bash-for-loop/https://www.cyberciti.biz/tips/linux-security.html

借助 cut 命令

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

u="this is a test"echo "$u" | cut -d' ' -f 4echo "$u" | cut --delimiter=' ' --fields=4############################################ WHERE## -d' ' : Use a whitespace as delimiter## -f 4 : Select only 4th field##########################################var="$(cut -d' ' -f 4 "echo "${var}"

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

man bashman cut

感谢各位的阅读!关于“Bash如何提取子字符串”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Bash如何提取子字符串

本文链接: https://lsjlt.com/news/312702.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

猜你喜欢
  • Bash如何提取子字符串
    这篇文章给大家分享的是有关Bash如何提取子字符串的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。所谓“子字符串”就是出现在其它字符串内的字符串。 比如 “3382” 就是 “this is a 3382 test...
    99+
    2023-06-27
  • Python字符串操作之如何提取子字符串
    在 Python 中,字符串是一种非常常见的数据类型,经常需要对字符串进行各种操作,其中提取子字符串是一个非常常见的需求。本文将介绍几种在 Python 中提取子字符串的方法。 方法一:使用字符串切片 在 Python 中,可以使用字符串切...
    99+
    2023-10-18
    python 正则表达式 开发语言
  • python如何提取字符串的数字
    可以使用正则表达式来提取字符串中的数字。 import re def extract_numbers(string): n...
    99+
    2024-02-29
    python
  • java如何提取字符串中的指定字符
    您可以使用Java中的字符串处理方法来提取字符串中的指定字符。以下是一种常见的方法:1. 使用String类的charAt()方法,...
    99+
    2023-09-22
    java
  • python如何提取字符串指定内容
    要提取字符串中的指定内容,可以使用字符串的切片操作或正则表达式。1. 使用切片操作:可以使用字符串的索引和切片操作来提取指定内容。例...
    99+
    2023-08-20
    python
  • MySql 字符串中提取数字
    一、前言 在MySQL中,有时需要从字符串中提取数字。在这种情况下,我们可以使用一些函数来实现该效果。但是,这些函数中的一些可能会提取字符串中的所有数字,而其他函数可能只会提取最长的数字字符序列。因此,我们需要了解每个函数的行为及其应用场景...
    99+
    2023-08-31
    mysql 数据库
  • 如何使用Python从字符串中提取数字?
    在Python中,有时候需要从字符串中提取特定的数字信息,这种操作很常见。例如,从一篇新闻报道中提取新闻发布日期、从一篇小说中提取章节编号等。那么,如何使用Python从字符串中提取数字呢?本文将介绍几种方式。 阅读更多:Python...
    99+
    2023-08-31
    mysql 数据库 python
  • c语言如何提取字符串中的数字
    在C语言中,可以使用isdigit函数和atoi函数来提取字符串中的数字。isdigit函数用于判断一个字符是否为数字字符,其原型如...
    99+
    2023-09-16
    c语言
  • 如何利用python提取字符串中的数字
    目录一、isdigit()函数二、filter() 函数三、提取一段字符串中的数字四、匹配指定字符串开头的数字五、匹配时间,17:35:24六、匹配时间,20181011 15:28...
    99+
    2024-04-02
  • 如何在 PHP 中从字符串中提取数字
    在本文中,我们将介绍在 PHP 中从字符串中提取数字的方法。 使用 preg_match_all() 函数的方法 使用 filter_variable() 函数 使用 preg...
    99+
    2024-02-27
  • 如何在mysql字符串中提取相应字段
    从 mysql 字符串中提取特定字段:确定目标字段。使用正则表达式 regexp_extract() 匹配字段。使用子查询提取字段。使用字符串函数 substring() 和 ...
    99+
    2024-06-15
    mysql
  • C#怎么获取子字符串
    本篇内容介绍了“C#怎么获取子字符串”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!实例using System;namespace...
    99+
    2023-06-17
  • PHP如何替换字符串的子串
    这篇文章将为大家详细讲解有关PHP如何替换字符串的子串,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 替换字符串子串 PHP 提供了几种内置函数来替换字符串中的子串,包括 str_replace()...
    99+
    2024-04-02
  • php如何替换子字符串
    这篇文章主要为大家展示了“php如何替换子字符串”,内容简而易懂,条理清晰,希望能够帮助大家解决疑惑,下面让小编带领大家一起研究并学习一下“php如何替换子字符串”这篇文章吧。替换子字符串您有一个字符串,想...
    99+
    2024-04-02
  • PHP如何子字符串替换
    这篇文章将为大家详细讲解有关PHP如何子字符串替换,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。PHP 子字符串替换 PHP 中提供了多种方法来替换字符串中的子字符串: 1. str_replace() ...
    99+
    2024-04-02
  • js如何提取某()特殊字符串长度
    这篇文章给大家分享的是有关js如何提取某()特殊字符串长度的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。实例如下所示:// 提取特殊字符串长度(scrstr ...
    99+
    2024-04-02
  • java 如何从字符串里面提取时间
    目录如何从字符串里面提取时间我们可以使用正则表达式从字符串中提取年份,要求输出1000-4999之间的所有年份正则表达式传统匹配:如何从字符串里面提取时间 今天接到一个需求,需要从一...
    99+
    2024-04-02
  • 如何在Python中提取字符串的内容
    今天就跟大家聊聊有关如何在Python中提取字符串的内容,可能很多人都不太了解,为了让大家更加了解,小编给大家总结了以下内容,希望大家根据这篇文章可以有所收获。Python主要用来做什么Python主要应用于:1、Web开发;2、数据科学研...
    99+
    2023-06-15
  • php如何去除字符串中某几个子字符串
    这篇文章主要讲解了“php如何去除字符串中某几个子字符串”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“php如何去除字符串中某几个子字符串”吧!在php中,可以利用str_replace()...
    99+
    2023-06-30
  • Python如何截取字符串
    本文小编为大家详细介绍“Python如何截取字符串”,内容详细,步骤清晰,细节处理妥当,希望这篇“Python如何截取字符串”文章能帮助大家解决疑惑,下面跟着小编的思路慢慢深入,一起来学习新知识吧。前言Python 提供了很多截取字符串的方...
    99+
    2023-07-02
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作