sed 使用正则表达式

2023-12-10

所以基本上我有一个包含 1500 个名字的原始列表,每个名字都有一个 4 位数字。我有另一个文件,其中包含这 1500 个姓名中的 200 个姓名以及与其关联的新 4 位数字。我需要用这个新号码替换旧号码。

我有一个文件original.txt,其中包含 1500 行文本,如下所示:

姓名 AYxxxx

姓名 2 AYxxxx

姓名 3 AYxxxx

......

姓名1500 AYxxxx

xxxx是4位数字,AY是每4位字符前面出现的字符串

我有一个 Updated_file.txt,其中包含 200 行,如下所示:

姓名 AYzzzz

名称40 AYzzzz

姓名1300 AYzzzz

zzzz 是一个不同的 4 位数字。我需要使用新号码(zzzz)并替换original.txt中的旧号码(xxxx)。

所以在原文中,我需要的文本应该是这样的:

姓名 AYzzzz

姓名 2 AYxxxx

名称40 AYzzzz

姓名1300 AYzzzz

姓名1500 AYxxxx

我正在考虑做这样的事情:

names=updated.txt
while read names
do
    sed  -E "s/$names[^AY.*]/$names/" original.txt
done < "$names"

您可以从更新字段生成 sed 脚本,例如

sed 's:\(.*AY\)\d\+:/\1/s_.*_&_:' UPDATEFILE > SEDUPDATE.SED

然后在原始文件上运行生成的脚本,如下所示:

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

sed 使用正则表达式 的相关文章

  • 使用 sed 删除两个模式之间的行(不包括)

    Ok 我知道这是一个微不足道的问题 但是 我如何从文件中删除两个已知模式 单词之间的行 pattern1垃圾模式2 获得 pattern1模式2 有谁知道学习 sed 的好 简单的 资源吗 有很多清晰的例子吗 sed n pattern1
  • sed 匹配换行符中的模式

    这是我的输入
  • 从命令行查找并替换多行文本

    我正在尝试使用还执行其他操作的脚本编辑配置文件 该脚本需要找到某些连续的文本行并将其删除 它需要在适当的位置粘贴一个新配置 该新配置从旧配置所在的同一行开始 在新旧配置中 空间的使用都很重要 在 configfile php 中 此文本块
  • sed + 仅当匹配行中的第一个单词时才替换

    以下 sed 命令替换OLD字符串与NEW细绳 我的目标是取代OLD to NEW除非COMMAND单词显示为行中的第一个单词 如何修复我的 sed 语法以便替换OLD with NEW除非COMMAND第一个单词在一行吗 笔记 COMMA
  • 更改文件名后缀(使用 sed ?)

    我想改变文件名后缀来自文件 使用 bash 脚本 但有时有些文件带有一个句点 有些文件带有两个句点 现在我用这个 new file echo file sed s log suf 1 num 其中 new file 是新文件名 file 是
  • UNIX:用冒号替换换行符,在 EOF 之前保留换行符

    我有一个格式为的文本文件 INPUT txt A
  • 如何从 Linux 和 Solaris 上的挂载中提取 NFS 信息?

    我需要使用提取 NFS 挂载信息mount在 Linux RHEL 4 5 和 Solaris Solaris 10 系统上 由于这是 SSH 命令的一部分 因此提取需要在一行中进行 不幸的是 Linux 和 Solaris 在该行的不同部
  • 用 SED 或 PERL 单行匹配并替换多个换行符

    我有一个输入 C 文件 myfile c 如下所示 void func foo void func bar supercrazytag 我想使用 shell 命令插入新的函数原型 这样输出就变成 void func foo void fun
  • 删除一行中逗号之前的所有内容

    我有多个文件 其中包含以下行 foo 123456 bar 654321 baz 098765 我想删除每行逗号之前 包括 的所有内容 输出将是 123456 654321 098765 在另一个问题上看到类似的内容后 我尝试使用以下内容
  • 使用 sed 反转输入顺序

    我有一个文件 我们将其命名为 a txt 该文件包含以下文本行 do to what 我想知道 SED 命令是什么来反转此文本的顺序 使其看起来像 what to do 我必须做某种追加吗 就像将 do 附加到 to 所以它看起来像 to
  • 如何使用 awk 或 sed 将“[1.0 - 4.0]”等字符串替换为数值?

    我有一个 CSV 文件 正在通过一组 awk sed 命令进行管道传输 CSV 文件中的某些行如下所示 10368 Verizon DSL DSL NY NORTHEAST 5 4 1 1 3 0 0 384 0 768 其中第 8 列和第
  • 我可以使用 sed 命令将多个空行替换为一个空行吗?

    我知道 SO 中也有类似的问题如何在 bash 中用单个空行替换多个空行 https stackoverflow com questions 922449 how can i replace mutliple empty lines wit
  • 如何在bash中仅提取两个字符串之间多行的第一个实例?

    我的文件是 abc 123 xyz abc 675 xyz 我想提取 abc 123 xyz 123 可以是任何东西 重点是我想要第一次出现 我尝试使用这个 sed n abc xyz p filename 但这给了我所有的例子 我怎样才能
  • Linux 文本文件操作

    我有一个格式的文件 a href a href a href a href 我需要选择 之后但 之前的文本 并将其打印在行尾 添加后 例如 a href http www wowhead com search Su a a a a a
  • 如何在 sed 中转义方括号[重复]

    这个问题在这里已经有答案了 我正在使用 grep 和 sed 解析遗留的 C 代码 当尝试替换方括号时 发生了一些奇怪的事情 以下代码替换方括号效果很好 echo xyx xzx xyx sed s g 结果是 xyx xzx xyx 当我
  • 通过特定分隔符删除字符串

    我的文件中有几列 其中第二列有 分隔符 我想删除第二列中的第一个 第三个和第四个字符串 并将第二个字符串留在该列中 但我有正常的分隔符空间 所以我不知道 input 22 16050075 A G 16050075 A G 22 16050
  • 匹配模式后添加行[重复]

    这个问题在这里已经有答案了 我有一个文件说test具有以下值 Linux Solaris Fedora Ubuntu AIX HPUX 如何在匹配 AIX 的行后面添加一行系统主机名 如果我做 echo hostname gt gt tes
  • 对重复的名称添加双引号

    我想从文件中找到重复的名称 如下所示 并用 标记它们 file James Miki 123 456 7890 Wang Tai 234 563 6879 James Miki 123 456 7890 输出希望看起来像 James Mik
  • 用于计算数据文件中数字列表的平均值的脚本

    文件data txt包含以下内容 1 00 1 23 54 4 213 2 3 4 脚本的输出应该是 ave 54 646 一些简单的脚本是首选 这是一种方法 awk s 1 END print ave s NR RS file ave 5
  • 如何将查找和替换限制为 CSV 中的一列?

    我有一个 4 列 CSV 文件 例如 0001 fish animal eats worms I use sed对文件进行查找和替换 但我需要将此查找和替换限制为仅在第 3 列中找到的文本 如何让查找和替换仅发生在这一列上 您确定要使用se

随机推荐

  • 我可以通过内容脚本对服务器上托管的 REST API 进行 ajax 调用吗?

    在构建 chrome 扩展时阅读博客和一些 stackoverflow 答案后 出于某种原因 我认为我们无法对托管在托管页面之外的另一个域下的服务器上托管的 REST API 进行 ajax 调用 它是否正确 在开发扩展程序时 我在单击扩展
  • 如何加载文件夹中的所有模块?

    有人可以为我提供一种导入整个模块目录的好方法吗 我有这样的结构 Foo bar py spam py eggs py 我尝试通过添加将其转换为包 init py和做from Foo import 但它并没有像我希望的那样工作 列出所有 py
  • 如何在.NET 中对多个 SqlConnection 使用单个 SqlTransaction?

    我有 SQL Server 2000 它不支持 MultipleActiveResults 我必须进行多次插入 并且每次插入只需一个连接即可完成 我想在所有插入之前开始事务并在所有插入之后完成事务 我该怎么做 您没有指定是否使用 NET 2
  • Pandas 过滤具有特定年份的数据帧行

    我有一个数据框df它有一个Date柱子 我想创建两个新的数据框 其中包含来自的所有行df其中年份等于some year和另一个包含所有行的数据框df如果年份不等于some year 我知道你能做到df ix 2000 1 1 2001 1
  • 聚合_id中相同字段错误

    我在 mongodb 中有一个像这样格式的集合 id ObjectId 542d5256372943d9e000fc42 class com bedas ays mongo dto AboneAriza AdSoyad AKIN COBAN
  • 如何在 macOS 中以编程方式安装 mac 中的自定义字体

    我有一个 Mac 应用程序 其中有自定义字体 但我的 Mac 应用程序文件夹的自定义字体书中不存在该字体 因此 当应用程序启动时 我使用以下代码检查 Mac 中是否安装了字体 NSArray fonts NSFontManager shar
  • 如何使 Acumatica 多行 PXGridColumn 显示新行?

    我正在自定义项目报价表单 屏幕 PM304500 上的描述字段 我需要描述字段是多行的 并且它必须保留新行 我已经自定义了字段本身以允许非常长的字符串 并且我已经使用 Multiline true 自定义了相应的 PXGridColumn
  • 解决防伪令牌问题

    我有一个表单帖子始终给我一个防伪令牌错误 这是我的表格 using Html BeginForm Html AntiForgeryToken Html EditorFor m gt m Email Html EditorFor m gt m
  • Python SQLite3 获取原始数据?

    我对这段代码有疑问 cur execute SELECT Balance FROM accounts print cur fetchone 输出 0 而不是我想要的0 任何人都可以帮助修复错误吗 很感谢任何形式的帮助 fetchone 将返
  • 取消跟踪文件并 gitignore 它,但拉取时不要在服务器上删除它

    我创建了一个项目并跟踪配置文件 现在我想将它们从跟踪和存储库中删除 所以我把它们放在 gitignore 中 然后我做了git rm cached与这些文件 我提交了它 但现在如果我拉出这个分支会发生什么 它会在远程删除服务器上的所有这些文
  • 在 Xamarin 中使用 ZeroMQ

    我有一个由服务器和客户端组成的应用程序 服务器是 C C 应用程序 客户端是面向 Windows Android 和 iOS 的跨平台 Xamarin 应用程序 服务器部分和客户端部分使用 ZeroMQ 消息进行通信 我尝试了当前的 C 实
  • 在 TypeScript 中返回新的自身等效项以进行类继承

    我有一个基类Collection它提供了基本的数组功能 此类针对其他特定于领域的用例进行了扩展 当像这样的 破坏 方法filter被调用时 它应该返回一个带有过滤元素的新实例 继续使用类方法而不是仅仅取回数组 在 PHP 中你会使用retu
  • 无法从 Docker 实例连接到 MYSQL

    我是新来的Docker并拉了mysql来自码头枢纽使用以下命令 docker pull mysql 现在 开始了mysql使用以下命令实例 docker run name mysql p 3306 3306 e MYSQL ROOT PAS
  • Java中如何将函数作为参数传递? [复制]

    这个问题在这里已经有答案了 在 Java 中 如何将一个函数作为参数传递给另一个函数 Java 8 及以上版本 使用 Java 8 lambda 表达式 如果您有一个仅包含单个抽象方法 有时称为抽象方法 的类或接口SAM type 例如 p
  • 在 Heroku 上强制执行文件上传大小?

    在 Heroku 上有一个 Rails 应用程序 如果可能的话 我想限制文件上传的大小 文件被作为 StringIO 对象处理 因此文件内容将在内存中处理 无需将中间文件写入文件系统 通常 我会限制网络服务器上的上传大小 但是对于 Hero
  • 点击下载图片

    单击图片时如何实际下载图片 有某种 JavaScript 代码可以做到这一点吗 下面是我如何用纯 HTML 显示图像 a href img src myPic png border 0 a 假设 下载 的意思是 导致用户的浏览器弹出 保存或
  • 在 Visual C++ 中根据文件内容设置预处理器定义

    我的项目中有一个文件 其中包含项目版本号 我必须将此文件的内容用作我的代码中的预处理器定义 我需要的是以某种方式将文件中的值作为 D 参数传递给编译器 我尝试添加预处理器定义 VERSION Version 并在预构建步骤中设置版本环境变量
  • 数据压缩如何比索引更有效地提高搜索性能?

    对于我们的应用程序 我们保留由三个整数列 源 类型和时间 索引的大量数据 加载大量数据可能需要一些时间 我们已经实施了各种措施来减少大型查询必须搜索和加载的数据量 例如为不需要高分辨率的查询存储更大的粒度 时间 明智的 当在我们的备份存档中
  • Ajax get/posts 后 IE 不刷新

    我有一个小问题 我不知道如何处理 我写了一些 jQuery post gets 它们在 FF Opera 和 Chrome 中运行良好 但是 当从资源管理器 任何版本 运行时 请求中的更新内容不会加载到浏览器中 我使用了开发人员工具并调试了
  • sed 使用正则表达式

    所以基本上我有一个包含 1500 个名字的原始列表 每个名字都有一个 4 位数字 我有另一个文件 其中包含这 1500 个姓名中的 200 个姓名以及与其关联的新 4 位数字 我需要用这个新号码替换旧号码 我有一个文件original tx