AWK 匹配以数字开头的字符串

Fin*_*One 3 regex unix bash awk

我想使用 打印文件的所有行,其中每行的第一个元素以数字开头awk。以下是文件中包含的数据和使用的命令的详细信息:

文件名内容:

12.44.4444goad ABCDEF/END   
LMNOP/START joker   
98.0 kites
Run Code Online (Sandbox Code Playgroud)

使用的命令:

awk '{ $1 ~ /^\d[a-zA-Z0-9]*/ }' filename
Run Code Online (Sandbox Code Playgroud)

运行上述命令后,提示符上没有显示任何结果。如果需要对上述命令进行任何更正,请告诉我。

Håk*_*and 5

要打印以数字开头的行,您可以尝试以下操作:

awk '/^[[:digit:]]+/' file
Run Code Online (Sandbox Code Playgroud)

正如 @HenkLangeveld 所指出的,您的语法不正确。此外,正则表达式\d在 awk 中不可用。

  • 错误的词是“语义”。从语法上讲,代码是有效的,但从语义上讲,它没有达到预期的目的。不需要 `+`,只需 `/^[[:digit:]]/` 就足够了。 (3认同)