首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed在每一行末尾加id号

sed在每一行末尾加id号
EN

Stack Overflow用户
提问于 2022-04-19 21:51:14
回答 1查看 48关注 0票数 1

因此,我有一个文件,其中每行的开头都是从1到9999之间的数字,后面跟着用户信息,比如:输入文件。我的问题是如何以格式添加文本字符串的末尾:",C(numberID)“,其中"numberID”是行开头的数字。

我从关于如何写入包含模式的行尾的相关问题。那里试过这个答案

sed '/^0-9,/ s/$/,C/‘employees2.txt

输出显示代码运行良好,因为它只找到以1位数开头的行,并将这些行的末尾添加为",C“字符串。然而,我想要的是在",C“之后添加一个数字,所以我尝试了如下:

sed '/^(0-9,)/ s/$/,C1‘员工2.txt

这会导致错误: sed: 1:"/^(0-9,)/ s/$/,C \1 ":\1未在RE中定义

我期望的输出将是像这样

EN

回答 1

Stack Overflow用户

发布于 2022-04-19 21:59:05

您可以使用

代码语言:javascript
复制
sed -E 's/^([0-9]),.*/&,C\1/' employees2.txt  # POSIX ERE
sed 's/^\([0-9]\),.*/&,C\1/' employees2.txt   # POSIX BRE

详细信息

  • 启用-E - POSIX语法
  • ^([0-9]),.* -匹配字符串的开头,将一个数字捕获到第1组,然后匹配一个逗号,然后匹配任何文本,直到字符串结束(在POSIX中,您需要转义捕获括号)
  • &,C\1 -用自身+ ,C和组1中的数字替换匹配的行。
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/71931745

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档