Ank*_*wal 8 regex linux bash grep
我有这个:
echo 12345 | grep -o '[[:digit:]]\{1,4\}'
Run Code Online (Sandbox Code Playgroud)
这给了这个:
1234
5
Run Code Online (Sandbox Code Playgroud)
我知道发生了什么事.如何在成功匹配后阻止grep尝试继续匹配?
我怎么才得到
1234
Run Code Online (Sandbox Code Playgroud)
你想要grep停止匹配还是只关心第一场比赛.你可以使用,head如果后者是真的......
`grep stuff | head -n 1`
Run Code Online (Sandbox Code Playgroud)
Grep是一个基于行的util,因此该-m 1标志告诉grep在匹配第一行时停止,当与head结合时,它在实践中非常好.
你需要进行分组:\(...\)然后是确切的发生次数:\{<n>\}做这项工作:
maci:~ san$ echo 12345 | grep -o '\([[:digit:]]\)\{4\}'
1234
Run Code Online (Sandbox Code Playgroud)
希望能帮助到你.干杯!!