获取括号之间的多个值
Get multiple values between brackets
我想检索括号内的多个字符串。这是我现在使用的命令:
grep '\[*\]' src/config/mail.ini
它returns我输出如下:
[GLOBAL]
[MAIL_1]
我怎样才能一一得到结果?并且,在这种情况下,作为两个变量?
您可以使用
grep -o '\[[^][]*]' src/config/mail.ini
-o
选项使 grep
提取匹配的子字符串而不是打印匹配行,并且 \[[^][]*]
模式匹配:
\[
- 一个 [
字符
[^][]*
- ]
和 [
以外的 0 个或多个字符(使用 "smart placement",括号表达式开头的 ]
被视为 ]
并且 [
字符在括号表达式中并不特殊)
]
- ]
字符(无需转义 ]
)。
逐场处理:
while read -r line ; do
echo "Processing $line"
# your code goes here
done < <(grep -o '\[[^][]*]' src/config/mail.ini)
我想检索括号内的多个字符串。这是我现在使用的命令:
grep '\[*\]' src/config/mail.ini
它returns我输出如下:
[GLOBAL]
[MAIL_1]
我怎样才能一一得到结果?并且,在这种情况下,作为两个变量?
您可以使用
grep -o '\[[^][]*]' src/config/mail.ini
-o
选项使 grep
提取匹配的子字符串而不是打印匹配行,并且 \[[^][]*]
模式匹配:
\[
- 一个[
字符[^][]*
-]
和[
以外的 0 个或多个字符(使用 "smart placement",括号表达式开头的]
被视为]
并且[
字符在括号表达式中并不特殊)]
-]
字符(无需转义]
)。
逐场处理:
while read -r line ; do
echo "Processing $line"
# your code goes here
done < <(grep -o '\[[^][]*]' src/config/mail.ini)