gpt4 book ai didi

linux - 我的正则表达式在 grep 中不起作用

转载 作者:IT王子 更新时间:2023-10-29 00:47:03 25 4
gpt4 key购买 nike

这是我正在处理的文件的文本:

(4 spaces)Hi, everyone

(1 tab)yes

当我运行此命令时 - grep '^[[:space:]]+' myfile - 它不会将任何内容打印到标准输出。

为什么它与文件中的空格不匹配?

我使用的是 GNU grep 2.9 版。

最佳答案

有几种不同的正则表达式语法。 grep 的默认语法在 grep 文档中称为 basic 语法。

来自 man grep(1):

In basic  regular  expressions the meta-characters
?, +, {, |, (, and ) lose their special meaning; instead
use the backslashed versions \?, \+, \{, \|, \(, and \).

因此,您应该键入 \+ 而不是 +:

grep '^[[:space:]]\+' FILE

如果您需要正则表达式的更多功能,我也鼓励您看一下 Perl 正则表达式语法。它们通常被认为是最具表现力的。有一个名为 PCRE 的 C 库可以模拟它们,并且 grep 链接到它。要使用它们(而不是基本语法),您可以使用 grep -P

关于linux - 我的正则表达式在 grep 中不起作用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/9797201/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com