使用 sed,删除字符第一次出现之前的所有内容

2023-12-25

假设我有一条像这样的线

Hello my first name is =Bart and my second is =Homer

如果我想在第一次之后得到所有东西我该怎么办= or : using sed?

在这个例子中,我想得到结果

Bart and my second is =Homer

我在用sed 's/.*[=:]//'现在但我明白了Homer结果(最后一个之后的所有内容= or :),我想得到第一个之后的所有内容,而不是最后一个= or :


通常,量词在sed是贪婪的,这就是为什么你总是会匹配最后一个=。第一个定义是什么=是它之前的所有字符都不是=, so:

sed 's/^[^=]*=//'

你的问题意味着: or =是有效的标记,在这种情况下

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

使用 sed,删除字符第一次出现之前的所有内容 的相关文章

  • Perl 和 Unix 如何以相同的顺序对 Unicode 字符串进行排序?

    我正在尝试获取 Perl 和 GNU Linuxsort 1 程序就如何对 Unicode 字符串进行排序达成一致 我在跑sort with LANG en US UTF 8 在Perl程序中我尝试了以下方法 use Unicode Col
  • 如何从 ssh 配置文件中删除主机条目?

    文件的标准格式是 Host example HostName example com Port 2222 Host example2 Hostname two example com Host three example com Port
  • C 有标准的队列实现吗?

    是否有 C 语言 附带 的队列数据结构实现 或者我必须开发自己的队列数据结构实现 这是一个学校项目 因此我必须使用标准 gcc 安装中存在的东西 或者必须自己实现一个 其他通用数据结构 如链表 堆栈等 又如何呢 尝试这个 Unix 附带了几
  • 使用 shell 脚本将行附加到 /etc/hosts 文件

    我有一个新的 Ubuntu 12 04 VPS 我正在尝试编写一个安装脚本来完成整个 LAMP 安装 我遇到问题的地方是在 etc hosts文件 我当前的主机文件如下所示 127 0 0 1 localhost Venus The fol
  • 使用 xlib 在屏幕顶部绘图

    我想在屏幕上的所有窗口顶部绘制一些图元 我在 C 中找到了一些代码并尝试将其移植以使用 python 的 xlib from Xlib display import Display from Xlib import X from Xlib
  • 如何在 *nix 中登录时运行脚本?

    我知道我曾经知道如何做到这一点 但是 如何在 unix 中登录时运行脚本 bash 可以 From 维基百科 Bash http en wikipedia org wiki Bash 28Unix shell 29 当 Bash 启动时 它
  • WhatsApp 如何实现每台服务器 200 万个连接?

    在 Ubuntu 上 可以打开的最大套接字数似乎受以下控制 cat proc sys net ipv4 tcp max orphans 262144 根据 Rick Reed 来自 WhatsApp 的一次演示 这些人使用 FreeBSD
  • Excel 保存制表符分隔的文件而不换行 (UNIX/Mac os X)

    这是我遇到的一个常见问题 我的解决方案有点鲁莽 所以我正在寻找问题的快速解决和解释 问题是 当我决定将 Excel mac 2011 中的电子表格保存为制表符分隔文件时 它似乎做得很好 直到我尝试使用 Perl 逐行解析文件 由于某种原因
  • 在哪里可以找到 sys_errlist 的内容?

    sys errlist 由 errno 索引并包含相应的错误消息 我在哪里可以看到这个列表的内容 可能在某些系统头文件中以某种方式包含
  • 为什么 sed 不将 \t 识别为制表符?

    sed s t 1 filename gt sedTmpFile mv sedTmpFile filename 我期待这个sed脚本插入一个tab在每一行前面 filename然而事实并非如此 由于某种原因 它正在插入一个t反而 Not a
  • 仅当程序成功时如何重定向程序的输出?

    当我的程序之一返回非零退出代码时 我想避免重定向其输出 这可能吗 如果可以 我该怎么做 我失败的尝试 echo foo gt file false cat gt file 这导致file是空的 我想要的行为只是调整file当程序成功时 我还
  • 使用 sed 替换多行

    我以为我理解 sed 但我想不是 我有以下两个文件 我想用一个不同的行替换 why 和 huh 行 根本没有空格 测试 txt hi why huh hi why huh 测试2 txt 1 hi why huh hi why huh 以下
  • 如果等于特定值则替换列

    我希望替换 CSV 中的第四列 如果它等于 N A 我正在尝试将其更改为 1 我似乎无法让它发挥作用 awk F if 4 N A 4 1 test csv 您可以使用以下内容awk awk F 4 4 N A 1 4 1 OFS test
  • 如何使用应用程序跟踪 SMB 中的文件?

    我用 PHP 构建了一个应用程序 它显示用户主目录中的所有文件 该目录也可以通过 samba 访问 因此您可以从 Windows Mac 和 Linux 中的本机资源管理器访问它 我想给每个文件一个 ID 以便我可以为每个文件分配标签 你会
  • 将匹配的值传递给函数,并替换为返回值

    我如何让 Bash 匹配正则表达式 而不是用常量字符串替换值 而是将匹配的值传递给函数 然后从函数的返回值中获取要替换的值 像下面的伪代码一样 它替换了每一个匹配项 a d 具有相同的字符 但大写 function uppercase ec
  • 为什么 sed 将替换文本放在行首?

    在 Mac OS X bash 上 我在命令行中使用以下 sed sed s S 1 file1 txt gt file2 txt file1 txt有这样的行 some path to somewhere some stuff here
  • Unix网络编程澄清

    我正在翻阅这本经典书籍Unix网络编程 https rads stackoverflow com amzn click com 0139498761 当我偶然发现这个程序时 第 6 8 节 第 179 180 页 include unp h
  • Bash:将输出传输到后台进程?

    我想将一个进程放入后台 然后多次将数据传递给它 例如 cat The command I want to write into cat pid Getting the process id of the cat process echo h
  • 如果已经有作业正在运行,如何防止 Kubernetes 中的 Cronjob 执行

    我必须部署一个Kubernetes 中的定时任务这将每 15 分钟创建一个作业 Pod 该作业将检查服务是否准备好提供新数据 一旦该服务准备就绪 该作业将需要 1 个多小时才能完成执行 问题在于在此期间将执行其他作业 简而言之 我怎样才能阻
  • 为什么在setsid()之前fork()

    Why fork before setsid 守护进程 基本上 如果我想将一个进程与其控制终端分离并使其成为进程组领导者 我使用setsid 之前没有分叉就这样做是行不通的 Why 首先 setsid 将使您的进程成为进程组的领导者 但它也

随机推荐