首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >sed返回"sed:命令混淆“

sed返回"sed:命令混淆“
EN

Stack Overflow用户
提问于 2013-10-15 18:27:26
回答 4查看 14.9K关注 0票数 1

我在file.txt中有这样的数据:

代码语言:javascript
复制
1234-abca-dgdsf-kds-2;abc dfsfds 2
123-abcdegfs-sdsd;dsfdsf dfd f
12523-cvjbsvndv-dvd-dvdv;dsfdsfpage

我想在"-“之后替换字符串,直到";",这样我就得到:

代码语言:javascript
复制
1234;abc dfsfds 2 
123;dsfdsf dfd f 
12523;dsfdsfpage

我试过命令:

代码语言:javascript
复制
sed -e "s/-.*;/;" file.txt

但它给了我以下错误:

sed命令混淆

为什么会发生这种情况?

EN

回答 4

Stack Overflow用户

回答已采纳

发布于 2013-10-15 18:33:49

这应该是可行的:

代码语言:javascript
复制
sed 's/-.*;/;/g' file > newFile
票数 0
EN

Stack Overflow用户

发布于 2017-08-31 14:15:13

sed替换命令定义为(来源):

S/REGEXP/替换/标志‘ (替代)将正则表达式与模式空间的内容匹配。如果找到,用替换替换匹配的字符串。

然而,你是在说:

代码语言:javascript
复制
sed "s/-.*;/;"

这就是:

代码语言:javascript
复制
sed "s/REGEXP/REPLACEMENT"

因此,在表达式末尾缺少一个"/“。只需将其添加如下:

代码语言:javascript
复制
sed "s/-.*;/;/"
#            ^
票数 2
EN

Stack Overflow用户

发布于 2013-10-15 18:33:57

sed命令末尾缺少一个斜杠:

应该是"s/-.*;/;/"

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

https://stackoverflow.com/questions/19388443

复制
相关文章

相似问题

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