在 sed 中 \d 是否等于 [0-9]?

在 sed 中 \d 是否等于 [0-9]?
7
00:00:30,008 --> 00:00:30,066
by line
8
00:00:31,038 --> 00:00:34,050
or later in the nineteen seventies it was usually a
9
00:00:34,005 --> 00:00:38,634^M
video consul but the council was not capable of displaying arbitrate graphics
10

上面的行位于名为 2.txt 的文件中。我想要不以数字开头的行。实际上,sed -i '/^[0-9]+/d' 2.txt效果很好。但是,sed -i '/^\d+/d' 2.txt不行。正则表达式中的 \d 不应该等于 [0-9]?

答案1

否。Sed 不使用与 Perl 兼容的正则表达式。GNU 工具的正则表达式支持记录在此处:https://www.gnu.org/software/gnulib/manual/html_node/Regular-expression-syntaxes.html#Regular-expression-syntaxes

\d是字符d

您可以使用[[:digit:]]但不能\d

相关内容