【发布时间】:2020-09-26 20:20:03
【问题描述】:
我正在尝试使用 bash 正则表达式匹配来解析多行字符串中的一行。为什么以下不起作用?
if [[ $qout =~ ${q}[^\n]* ]] ; then
它与字母 n 匹配。我尝试使用\\n 甚至\\\n,但没有任何效果。
$qout 包含:
unrouted 0 0 running
dead-letter 0 0 running
$q 包含unrouted。
${BASH_REMATCH[0] 计算结果为:
unrouted 0 0 ru
我做错了什么?
【问题讨论】:
-
如果您不必使用 bash,功能更强大的脚本语言可能会帮助您完成这项工作!
-
@ti7,bash 具有此任务所需的所有功能。
-
if [[ $qout =~ ${q}[^$'\n']* ]] ; then