如何使用sed获取匹配项[0]

如何使用sed获取匹配项[0],sed,Sed,我有这样一个字符串:“这是第一个-这是第二个-这是大的” 我试着在第一篇之前只获取文本,就像这是第一篇一样 echo "This is the First - This is the seconde - this is the big" | sed -re 's/\-/\l/g' 但是代码只删除了- 感谢您的帮助您可以在匹配-后删除所有内容: $s='这是第一个-这是第二个-这是最大的' $echo“$s”| sed's/-.*/' 这是第一次 如果还想删除-之前的空

我有这样一个字符串:“这是第一个-这是第二个-这是大的”

我试着在第一篇之前只获取文本,就像这是第一篇一样

echo "This is the First - This is the seconde  - this is the big"  | sed -re 's/\-/\l/g'
但是代码只删除了-


感谢您的帮助

您可以在匹配
-
后删除所有内容:

$s='这是第一个-这是第二个-这是最大的'
$echo“$s”| sed's/-.*/'
这是第一次
如果还想删除
-
之前的空格,请使用
s/*-.*/


如果删除
-
之前的空格不是一个问题,那么也可以使用
cut
。此解决方案也更易于扩展:

$echo“$s”|剪切-d--f1
这是第一次
$echo“$s”|切口-d--f1-2
这是第一个,这是第二个

这将使用
-
将输入拆分为字段,然后仅显示所需字段。

非常感谢您的帮助。我没有足够的声望去投票。非常感谢你。最后一个问题。如果我想显示:这是第一个-这是第二个-sed或cut可以做什么?Thanks@timimi我已经编辑了答案,也可以使用
sed
来完成,但这更重要complicated@timimi如果您非常气馁,请简单地接受您所问问题的答案,然后再问一个新的后续问题(如果您有)。