xml*_*lmx 3 regex unix linux bash shell
给出的内容test.txt如下:
Hello 10 love 20 haha 30
Hello Hello 11 love love 21 haha 31
41 Hello Hello 42 love love 43 haha 44
Run Code Online (Sandbox Code Playgroud)
我想要某种表达方式grep,以便在说完之后:
$ cat test.txt | grep ???
Run Code Online (Sandbox Code Playgroud)
我得到这个输出:
20
21
42
Run Code Online (Sandbox Code Playgroud)
如何实现这个功能呢?
看来您正在尝试获取第二个号码..
grep -oP '^\D*\d+\D*\K\d+' file
Run Code Online (Sandbox Code Playgroud)
或者
使用 sed。
sed 's/^[^[:digit:]]*[[:digit:]]\+[^[:digit:]]*\([[:digit:]]\+\).*/\1/' file
Run Code Online (Sandbox Code Playgroud)