返回 Bash 脚本中的正则表达式匹配项,而不是替换它

2024-01-02

我只想匹配 Bash 脚本中的一些文本。我尝试过使用 sed 但我似乎无法让它只输出匹配项而不是用某些东西替换它。

echo -E "TestT100String" | sed 's/[0-9]+/dontReplace/g'

哪个会输出TestTdontReplaceString.

这不是我想要的,我想要它输出100.

理想情况下,它将所有匹配项放入一个数组中。

edit:

文本输入以字符串形式输入:

newName()
{
 #Get input from function
 newNameTXT="$1"

 if [[ $newNameTXT ]]; then
 #Use code that im working on now, using the $newNameTXT string.

 fi
}

您可以使用双方括号纯粹在 bash 中执行此操作[[ ]]测试运算符,它将结果存储在名为的数组中BASH_REMATCH:

[[ "TestT100String" =~ ([0-9]+) ]] && echo "${BASH_REMATCH[1]}"
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

返回 Bash 脚本中的正则表达式匹配项,而不是替换它 的相关文章

  • 正则表达式拒绝连续字符

    我对正则表达式仍然很陌生 基本上我需要做的是创建一个接受数字和字母但不允许输入连续字符的规则 例如 abcd gt 好的 abbcd gt 坏的 我已经完成了大部分工作 但我无法弄清楚的部分是如何禁止连续字符 到目前为止我的代码 A Za
  • Linux >2.6.33:可以使用 sendfile() 来实现更快的“猫”吗?

    必须将大量大文件连接成一个更大的单个文件 我们目前使用 cat file1 file2 output file but are wondering whether it could be done faster than with that
  • 改进将字符串转换为可读的 url

    以下函数重写包含各种字符的新闻和产品标题的 url 我希望创建的字符串仅包含字母数字值和 但没有结尾 或空格 也没有重复的 下面的函数工作正常 但我想知道是否有任何方法可以将其编写得更简单或更有效 function urlName stri
  • 无法连接到 Azure Ubuntu VM - 公钥被拒绝

    我们在 Azure 上使用 Ubuntu VM 一段时间了 很少遇到任何问题 然而 其中一台虚拟机最近出现了问题 出乎意料的是 Ubuntu VM 开始拒绝公钥 ssh i azure key email protected cdn cgi
  • git log --oneline 提供在管道或重定向到文件时丢失的 HEAD 信息

    当我执行没有管道或文件重定向的 git log oneline 命令时 它会提供有关 HEAD 位置和分支的信息 下面示例中的 master git log oneline color never 8bc8511 HEAD gt day 2
  • 如何在 Bash 脚本中查找数字的阶乘?

    在 shell 脚本中如何查找数字的阶乘 seq s 1 500 bc
  • 在 Google 表格中批量查找并替换正则表达式

    是否有函数 脚本或插件可以将大量正则表达式替换应用于 Google 表格中的一系列数据 我有一张包含地址列表的工作表 另一张工作表在两列中包含几十对正则表达式 例如 St 和 Street 我想替换地址中第一列短语的所有实例列出另一个中相应
  • Python 子进程:无法转义引号

    我知道以前曾问过类似的问题 但它们似乎都是通过重新设计参数的传递方式 即使用列表等 来解决的 但是 我这里有一个问题 因为我没有这个选项 有一个特定的命令行程序 我使用的是 Bash shell 我必须向其传递带引号的字符串 它不能不被引用
  • 用于替换前 5 个数字的正则表达式,无论它们之间有什么?

    我正在努力实现以下匹配 Input 123 45 6789 123456789 1234 正则表达式尝试输出 d 5 123 45 6789 123456789 1234 d 2 3 123 45 6789 123456789 1234 d
  • 使用 C++ 中的 Boost 正则表达式缩小 HTML

    Question 如何使用 C 缩小 HTML 资源 外部库可能是答案 但我更希望改进当前代码 尽管我很期待其他的可能性 当前代码 这是我在c 中的解释以下答案 https stackoverflow com a 5324014 57079
  • BeagleBone Black 如何用作大容量存储设备?

    是否可以使用 BB 作为大容量存储设备 我希望将其连接到可以从 USB 连接 例如 USB 闪存驱动器 读取文件的音频播放器并充当包含一个特定文件夹的数据存储设备 及其子文件夹 从文件系统 如果可能 在连接到开发板的闪存驱动器上 正如设备规
  • grep 彩色线条

    我编写了一个简单的 PHP shell 脚本 它解析文件并输出某些元素 它产生大量的输出 采用不同的 bash 颜色 绿色表示正常 黄色表示警告 红色表示错误等 在开发过程中我想过滤掉一些行 例如 所有包含红色文本的行 我可以使用grep
  • 在unix、bash中合并csv文件

    我有一些 csv 文件 其格式如下 测试1 csv field port1 a1 0 2 a2 0 3 a3 0 6 测试2 csv field port2 b1 0 5 b2 0 6 b3 0 7 b4 0 1 b5 0 5 测试3 cs
  • 在 MacOS 上构建需要 net461 的 dotnet SDK 项目的最简单方法

    我有一个 dotnet SDK sln and a build proj with
  • 简单的 preg_replace 返回 null

    为什么这个非常简单的 preg replace 返回 null preg replace s test test 这个想法是删除空格 您忘记添加分隔符 preg replace s test test 而且最好使用 s 代替 s 在你的模式
  • EULA 接受 Bash 脚本

    我有一个尝试安装垃圾箱的脚本 除了 bin 在 more 中打开 EULA 之外 一切正常 在脚本再次开始并自行完成安装之前 您必须手动 ctrl c 退出此 more 实例 因为这更多的是逃离 shell 所以脚本在打开后不知道要运行什么
  • 提取单花括号内的值

    我想要一个收藏 value 一个字符串使用正则表达式 例如 lorem ipsum field1 lorem ipsum field2 lorem ipsum field1 lorem ipsum field2 field3 我会得到 fi
  • 正则表达式 - 避免表达式中出现字符串

    我正在尝试创建一个应该匹配以下情况的正则表达式 如果单词完全匹配 first second third 那么匹配应该失败 但如果它周围有任何字符 那么应该匹配该字符串 我还需要避免字符串中的某些字符集 如果这些字符是字符串的一部分 则匹配结
  • Linux 上的“软/硬 nofile”是什么意思

    当我尝试在RedHat EL5上安装软件时 我得到了错误 软 硬nofile的期望值是4096 而默认值是1024 我设法增加了这个数字 但我不知道参数是什么 他们指的是软链接和硬链接吗 我改变的方法是 a 修改 etc security
  • 所有语言中特殊字符的 Java 正则表达式

    在我的用户输入字段中 我想允许某些特殊字符 字母和数字的组合 我应该确保正则表达式模式在输入时允许此设置任何语言 基本上我构建的这个正则表达式也应该支持 unicode 表示 如何使用 Java 中的 Pattern 类来实现这一点 这里给

随机推荐