删除模式之前的字符串部分

删除模式之前的字符串部分

我尝试使用 sed 命令删除所有行中第一个数字字符之前的所有文本,方法是使用以下命令

sed 's/.*[0-9]//' temp1.txt

但是,它会删除直到最后一个数字字符的所有文本。

答案1

这是由于 sed 的 eager 算法造成的。

使用:

sed 's/^[^0-9]*//' temp1.txt

在哪里

  • ^行首
  • [^0-9]除 0-9 之外的任何字符
  • *多次

相关内容