grep手动报价:
\n\n-o, --only-matching
\n
\n仅打印匹配行的匹配(非空)部分,每个此类部分位于单独的输出行上。
matched (non-empty) parts of a matching line意味着非空行,对吧?
如果评论被删除,请参考下面斯蒂芬的回答:
\n\n\n\n
\n- 解释:“一行中的空字符串”而不是“匹配行的空部分”怎么样?\xe2\x80\x93\n拉霍尔\n10 小时前
\n- 我认为重要的标签是\xe2\x80\x9cmatched parts\xe2\x80\x9d;\xe2\x80\x9cmatched strings\xe2\x80\x9d 也可以工作,我\xe2\x80\x99m 不是问哪个更好的合适人选。\xe2\x80\x93\n斯蒂芬·基特\n59 分钟前
\n
Ste*_*itt 16
它实际上指的是匹配行的非空匹配部分,而不是非空行。结果是输出仅包含非空行,每行包含一个非空匹配项。
\ngrep -o每场比赛打印一行:
$ grep -Eo '.?' <<<"hello"\nh\ne\nl\nl\no\nRun Code Online (Sandbox Code Playgroud)\n但它不\xe2\x80\x99t 输出空匹配。许多正则表达式可以匹配空文本;例如:
\n$ grep -E '.?' <<<""\n\nRun Code Online (Sandbox Code Playgroud)\n输出一个空行,因为空行匹配。然而,添加-o结果根本没有输出:
$ grep -Eo '.?' <<<""\nRun Code Online (Sandbox Code Playgroud)\n因为-o忽略空匹配。
指定-o忽略空匹配意味着实现者 don\xe2\x80\x99t 需要决定如何处理零长度匹配,否则在许多情况下会产生相当冗长(且无用)的输出。
考虑这两个命令:
grep -o '^' <<<'1a2b3c'
Run Code Online (Sandbox Code Playgroud)
这不会输出任何内容,因为它与行的开头匹配并且是空的,所以它不会输出它。
grep -o '[abc]' <<<'1a2b3c'
Run Code Online (Sandbox Code Playgroud)
这输出匹配行的匹配(非空)部分,每个这样的部分都在单独的输出行上。
a
b
c
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
2316 次 |
| 最近记录: |