1:FAILED + *1 0 (8328832,AR,UNDECLARED)
Run Code Online (Sandbox Code Playgroud)
这就是我的期望:8328832,AR,UNDECLARED
我试图找到一个通用的正则表达式,允许在两个括号之间取出任何内容.我的尝试是.
grep -o '\[(.*?)\]' test.txt > output.txt
Run Code Online (Sandbox Code Playgroud)
但它无法匹配任何东西=(
谢谢
Gil*_*not 24
grep -oP '\(\K[^\)]+' file
Run Code Online (Sandbox Code Playgroud)
\K
意味着使用环顾正则表达式高级功能.更确切地说,这是一个积极的后视断言,你也可以这样做:
grep -oP '(?<=\()[^\)]+' file
Run Code Online (Sandbox Code Playgroud)
如果你没有-P
选项,你可以用perl做到这一点:
perl -lne '/\(\K[^\)]+/ and print $&' file
Run Code Online (Sandbox Code Playgroud)
使用awk的另一种更简单的方法
awk -F'[()]' '{print $2}' file
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
25486 次 |
最近记录: |