sed,在第一个数字之前插入空格,但前提是空格不存在

2024-03-16

遗憾的是,这需要通过 sed 进行,据我所知,反向匹配不起作用。

我有一个不正确的字符串,需要在其中插入一个空格,这个不正确的字符串可以采用以下格式:

>=5.0.0 <= 7.0.0
>5.0.0 <= 7.0.0
=5.0.0 <= 7.0.0

我需要在第一个数字之前插入一个空格,并且仅当不存在空格时才插入(我们有数百个正确的字符串,因此双空格会破坏它们)。
期望的输出是

>= 5.0.0 <= 7.0.0
> 5.0.0 <= 7.0.0
= 5.0.0 <= 7.0.0

我尝试过分组,但还没有完全明白:

echo $testString |sed 's/\(\S\)\w/\1 &/'
>= =5.0.0 < 7.0.0

如果你觉得没问题awk,您可以尝试按照所示示例进行编写和测试吗?

awk '!/^[>]?[=]? [0-9]/{sub(/[>]?[=]?/,"&"OFS)} 1' Input_file

OR

awk '/^[>]?[=]?[0-9]/{sub(/[>]?[=]?/,"&"OFS)} 1' Input_file

OR with sed使用相同的正则表达式:

sed -E '/^[>]?[=]?[0-9]/s/^[>]?[=]?/& /' Input_file
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

sed,在第一个数字之前插入空格,但前提是空格不存在 的相关文章

  • Perl 正则表达式图灵完备吗?

    我见过 Ruby 和 Perl 程序员做了一些事情复杂的代码挑战 https codegolf stackexchange com questions 3596 regex validating regex完全用正则表达式 这前瞻和后瞻 h
  • 将 Excel 范围转换为 VBA 字符串

    我想将给定范围内的值转换为 VBA 字符串 其中原始单元格值由任何选定的列分隔符和行分隔符分隔 分隔符可以是一个字符或更长的字符串 行分隔符是行末尾的字符串 该字符串应该像我们从左上角 从左到右 到右下角读取文本一样完成 以下是范围 A1
  • Golang 正则表达式在字符串之间替换

    我有一些可能采用以下形式的字符串 MYSTRING MYSTRING n MYSTRING n MYSTRING randomstringwithvariablelength n 我希望能够将其正则表达式为MYSTRING foo 基本上替
  • PHP 正则表达式匹配字符串的最后一次出现

    我的字符串是 text1 A373R12345 我想找到该字符串最后出现的非数字数字 所以我使用这个正则表达式 0 9 然后我得到这个结果 1 A373 2 12345 但我的预期结果是 1 A373R 它有 R 2 12345 另一个例子
  • .join() 方法到底是做什么的?

    我对 Python 还很陌生 并且完全困惑 join 我读过的是连接字符串的首选方法 I tried strid repr 595 print array array c random sample string ascii letters
  • Python 中的 grep 等价物是什么?

    假设我有一个文本文件 其中包含 我喜欢大象 这一行 如果我捕获所述文件并将其通过管道发送到 grep大象 我会得到整行 我喜欢大象 如何使用 re 在 Python 中实现此功能 我一直在尝试以下方法 test re search elep
  • 这个巨大的正则表达式是如何工作的?

    我最近在我的一个目录中的一个名为的文件中找到了下面的代码doc php 文件功能或链接到文件管理器 做得非常好 基本上 它列出了当前目录中的所有文件 并且允许您更改目录 它可以访问我的所有文件 添加 重命名 信息 删除 我不记得安装过它 我
  • 如何从 JavaScript 中的字符串中删除空白字符?

    如何从 JavaScript 中的字符串中删除空白字符 修剪很容易 但我不知道如何将它们从inside字符串 例如 222 334 gt 222334 您可以使用正则表达式 如下所示来替换所有空格 var oldString 222 334
  • 使用信用卡号的字符串格式

    我正在尝试将信用卡号显示为类似 的字符串 I tried txtbox Text string Format 0 ccNumber 但它不起作用 有任何想法吗 String Format 0 0000 0000 0000 0000 numb
  • 为什么 re.findall 在查找字符串中的三元组项时不具体。 Python

    所以我有四行代码 seq ATGGAAGTTGGATGAAAGTGGAGGTAAAGAGAAGACGTTTGA OR 0 re findall r ATG 9 TAA TAG TGA seq 首先让我解释一下我正在尝试做什么 如果这令人困惑
  • T-SQL:如何获取字符串的确切字符长度?

    我正在为预先没有数据类型信息的表生成 T SQL SELECT 语句 在这些语句中 我需要执行取决于表列的原始值的长度的字符串操作操作 一个示例 但不是唯一的示例 是在字符串中的特定位置插入一些文本 包括将其插入末尾的选项 SELECT C
  • 如何为 Imagus 悬停缩放扩展开发自定义过滤器?

    当我读到关于悬停缩放是邪恶的 http www reddit com r YouShouldKnow comments 1wjrc8 ysk that the hover zoom extension is spyware 哎呀 有两篇文章
  • case_when 与部分字符串匹配和 contains()

    我正在使用一个数据集 其中有许多名为 status1 status2 等的列 在这些列中 它表示某人是否豁免 完整 注册等 不幸的是 豁免投入并不一致 这是一个示例 library dplyr problem lt tibble perso
  • 如何使正则表达式匹配不区分大小写?

    我有以下正则表达式加拿大的邮政编码 http en wikipedia org wiki Postal codes in Canada ABCEGHJKLMNPRSTVXY 1 d 1 A Z 1 d 1 A Z 1 d 1 它工作正常 但
  • Java正则表达式:为什么数字[0-9]、逗号等不是unicode?

    class Test public static void main String args String regex p L System out println 0 matches regex 上面的代码打印 false 但我期待 tr
  • Swift 3 错误:[_SwiftValue pointSize] 无法识别的选择器发送到实例

    我刚刚将我们的项目迁移到 swift 3 发现由于一个问题导致大量崩溃 由于未捕获的异常 NSInvalidArgumentException 而终止应用程序 原因 SwiftValue pointSize 发送到实例的无法识别的选择器 该
  • 对话框上的 EditText 不返回任何文本

    我太累了 找不到错误 我没有发现任何错误 但我没有从 editText 收到任何文本 请看下面的代码 活动密码 xml
  • Java:正则表达式排除空值

    在问题中here https stackoverflow com questions 51359056 java regexp for a separated group of digits 我得到了正则表达式来匹配 1 到 99 之间的一
  • 如何通过php获取网页的Open Graph协议?

    PHP 有一个简单的命令来获取网页的元标记 get meta tags 但这仅适用于具有名称属性的元标记 然而 开放图谱协议如今变得越来越流行 从网页获取 opg 值的最简单方法是什么 例如 我看到的基本方法是通过 cURL 获取页面并使用
  • vim 中的正则表达式查找和替换:向数字添加 .0

    我有一个如下所示的文件 1 1 0 1 6 1 0 2 8 1 0 3 10 1 0 4 12 1 0 6 如何为所有数字添加 0 后面的数字除外 我认为用正则表达式来做到这一点应该不会太难 但是我的正则表达式知识太生疏了 使用 VIM s

随机推荐

  • 延迟加载+同位素

    我花了相当多的时间试图让同位素和延迟加载一起工作 问题 如果用户向下滚动 则延迟加载有效 但是如果用户使用过滤器 项目会显示在顶部 但图像不会加载 这是有人遇到同样的问题 但似乎他已经解决了 我尝试了几件事但仍然无法让它工作 这是讨论htt
  • 通过按 JButton 运行外部 jar 文件

    我正在尝试运行一个 jar 文件 该文件位于与按下 JButton 不同的目录中 我有按钮和 GUI 设置 但我不知道如何启动单独的 jar 文件 我在这段代码块中放置了什么 private void jButton1MouseReleas
  • Gradle 构建错误:SAXParseException

    在构建应用程序时 我收到以下错误 Error org xml sax SAXParseException lineNumber 0 columnNumber 0 cvc pattern valid Value build tools 23
  • 加载多个 YAML 文件(使用@ConfigurationProperties?)

    使用 Spring Boot 1 3 0 RELEASE 我有几个 yaml 文件 它们描述了程序的多个实例 我现在想将所有这些文件解析为List
  • d3.js 强制取消拖动事件

    我有一个简单的拖动事件 如果满足特定条件 我想强制取消当前正在进行的拖动 基本上就像您正在执行鼠标向上操作一样 像这样 var drag behavior d3 behavior drag on drag function if mycon
  • 错误:(230, 25) 错误:无法访问 com.google.android.gms.common.internal.safeparcel.zza 的 zza 类文件未找到

    package com example qpay currentlocation import android Manifest import android app AlertDialog import android content D
  • 如何扩展PDF页面大小以添加水印?

    我的网络应用程序签署 PDF 文档 我想让用户下载原始 PDF 文档 未签名 但在 pdf 文档的左边距添加图像和签名者 我在另一个网络应用程序中看到了这个想法 我也想这样做 当然我想使用 itext 库来做到这一点 我附上了两张图片 原始
  • 模拟Android查杀并重启服务

    我想模拟 android 杀死并重新启动我的服务 以测试当我收到空意图时会发生什么以及我需要做什么清理 恢复 这可能吗 public MyService extends Service Override public void onCrea
  • forkpty - 套接字

    我正在尝试开发一个简单的 telnet 服务器 守护进程 它必须在新的套接字连接上运行程序 这部分工作正常 但我必须将我的新进程关联到 pty 因为该进程具有一些终端功能 如 readline 我开发的代码是 其中socketfd是新输入连
  • 使用VB.net创建计划任务[重复]

    这个问题在这里已经有答案了 如何使用 VB NET 创建计划任务 单击按钮时从 vb net 程序填充计划任务字段 我现在什么都没有 也不知道是否可能 您必须围绕本机 COM 接口创建包装器 如果你不想自己做 你可以使用这个库https t
  • Add-AzureAccount -credential 没有像我希望的那样工作

    4 天前 2014 年 8 月 4 日 发布了 Azure Powershell 的新版本 其中包括一个新的 凭据Add AzureAccount cmdlet 上的参数 我正在尝试使用它 但显然我做错了什么 首先 我将密码存储在一个文件中
  • 此 glassfish 警告的含义:上下文路径与捆绑包不同

    我不太确定此错误消息表示什么 INFO visiting unvisited references INFO visiting unvisited references INFO visiting unvisited references
  • 如何在 KeyUp 上进行文本框回发?

    我有一个文本框 可以更改 OnTextChanged 事件中下拉列表的内容 当文本框失去焦点时 此事件似乎会触发 如何在按键或按键事件上实现此操作 这是我的代码的示例
  • 在 Laravel 中找不到模型

    Error PhotoController php 第 17 行出现 FatalErrorException 未找到类 App Http Controllers photo 此代码发生异常 gt a photo all PhotoContr
  • 从二叉搜索树中删除节点,haskell

    我正在制作一个 Haskell 函数来从二叉搜索树中删除一个节点 我知道根据儿童数量需要采取的行动的规则 目标家长有 没有孩子 删除 1 个孩子 替换为孩子 2 个子节点 找到右子树中的最小值并用该值替换该节点 然后 递归删除右子树中的最小
  • 如何获取/设置默认帧缓冲区的宽度和高度?

    我想知道我的默认帧缓冲区的尺寸 我读到将视口设置为特定值不会影响 设置帧缓冲区的尺寸 是否有任何 GL 要求 您无法通过 OpenGL 调用设置默认帧缓冲区的大小 它是窗口的大小 由窗口系统接口 例如Android上的EGL 控制 如果您想
  • OData v4 的 Web Api 在 $select 上抛出异常

    我正在使用最新版本的 WebApi 和 OData 一切设置都可以正常工作 唯一的问题是当我尝试使用 select 时 它会抛出以下错误 Object of type System Linq EnumerableQuery 1 System
  • 在机器人框架的 IE11 中单击“文件下载”弹出窗口上的“保存”按钮

    Is there a way to click on the Save or Open button in the pop up that appears while downloading a file in IE 11 I am usi
  • javascript 函数与 ( function() { ... } ());

    我经常看到这样的表达 function var x 1 我该如何解释它 从语法上讲 这本身就是一个匿名函数定义 function 之后是什么 为什么要把它放在括起来的 中 Thanks 完全相同 只不过它是在转换为函数表达式后立即调用的 v
  • sed,在第一个数字之前插入空格,但前提是空格不存在

    遗憾的是 这需要通过 sed 进行 据我所知 反向匹配不起作用 我有一个不正确的字符串 需要在其中插入一个空格 这个不正确的字符串可以采用以下格式 gt 5 0 0 lt 7 0 0 gt 5 0 0 lt 7 0 0 5 0 0 lt 7