我在下面的文件中包含内容
devtools-cloudformation
devtools-common-rpm
我想删除devtools-并保持其余字符不变,我在下面的命令中尝试了一下,但删除了所有破折号
sed 's/.*-//' projects.txt
答案 0 :(得分:0)
这对我有用
sed 's/-/\n/;s/.*\n//' projects.txt
答案 1 :(得分:0)
如果我理解得很好,您要删除所有内容,直到第一个破折号。
试试这个:
sed 's/[^\-]*-//'
这也会删除第一个破折号。
如果要保留第一个破折号:
sed 's/[^\-]*-/-/'
您的解决方案不起作用的原因是这样的事实:正则表达式.*-
的意思是“后跟破折号的任何内容”。
字符串devtools-common-
与此条件匹配,因此被删除。
我建议的表达方式是“除破折号后再加破折号”。