首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Sed准则:-E与BRE的区别(Sed & Awk 101 hacks)

Sed准则:-E与BRE的区别(Sed & Awk 101 hacks)
EN

Unix & Linux用户
提问于 2019-06-11 19:41:25
回答 1查看 269关注 0票数 0

目前我正在自学awk和sed。我发现在线书Sed & Awk 101黑客,我发现到目前为止非常好。尽管如此,我发现我已经有几天没有继续了,因为我无法理解“分组”的概念--这是输入文件

代码语言:javascript
复制
cat employee.txt
101,John Doe,CEO
102,Jason Smith,IT Manager
103,Raj Reddy,Sysadmin
104,Anand Ram,Developer
105,Jane Miller,Sales Manager

book sed命令如下:

代码语言:javascript
复制
sed 's/\([^,]*\).*/\1/g' employee.txt

此命令的输出如下:

代码语言:javascript
复制
101
102
103
104
105

我试着去理解这个命令,但这对我来说毫无意义。然后,在检查sed文档(man )之后,我注意到当不使用标志-E时,正则表达式采用BRE语法。你能告诉我为什么这个表达式不能得到相同的输入吗?

代码语言:javascript
复制
sed -E 's/^(\d+),.+/\1/g' employee.txt

提前感谢!

EN

回答 1

Unix & Linux用户

发布于 2019-06-11 19:54:53

\dsed中不起作用。您可以使用[[:digit:]][0-9]代替:

代码语言:javascript
复制
sed -E 's/^([[:digit:]]+),.+/\1/' employee.txt
sed -E 's/^([0-9]+),.+/\1/' employee.txt

注意,我删除了示例中不需要的结尾处的g

相关信息:

票数 2
EN
页面原文内容由Unix & Linux提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://unix.stackexchange.com/questions/524279

复制
相关文章

相似问题

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