regex - 获取括号之间的多个值
问题描述
我想检索括号之间的多个字符串。这是我现在使用的命令:
grep '\[*\]' src/config/mail.ini
它返回我的输出,如:
[GLOBAL]
[MAIL_1]
我怎么能一一得到结果?而且,在这种情况下,作为两个变量?
解决方案
您可以使用
grep -o '\[[^][]*]' src/config/mail.ini
查看在线grep
演示
该-o
选项grep
提取匹配的子字符串而不是打印匹配的行,并且\[[^][]*]
模式匹配:
\[
- 一个[
字符[^][]*
- 0 个或多个除]
and以外的字符[
(使用“智能布局”,括号]
表达式开头的]
[
]
- 一个]
字符(无需转义]
)。
逐个处理匹配:
while read -r line ; do
echo "Processing $line"
# your code goes here
done < <(grep -o '\[[^][]*]' src/config/mail.ini)
推荐阅读
- r - 如何分组或嵌套到 r 中的数据子集?
- c# - 为网格视图启用分页
- node.js - Discord 机器人返回“TypeError:无法读取未定义的属性‘过滤器’”
- react-native - 在 expo-av 中动态添加 require() 文件
- python - 从 PyPI 安装失败,版本不令人满意,但手动安装时 PyPI 中存在这些版本
- rest - Microsoft Access 365 的 HTTP 命令、方法等目录
- git - 在不编写当前分支提交的情况下签出新分支?
- android - Flutter->从设备获取生物特征指纹数据/图像
- python - 如何检查 Django 中的用户 ID,以便根据他的角色(管理员或普通用户)重定向他?
- android - 我的安卓应用与安卓电视不兼容