我想知道如何将参数传递给 Bash 函数,该函数将作为 awk 的模式。我已经阅读了几个倾向于回答相同问题的 Q/As,但是,我遗漏了一些东西。
我使用以下单线查找包,在本示例中为 vivaldi,使用 Arch Linux packman
:
pacman -Sl | awk '$2~ /^vivaldi/{print $2, $3, $4, "[" $1 "]"}' | sort
我编写了以下函数,但执行它没有输出结果:
function pacname() {
#pattern="$1"
pacman -Sl | awk -v pattern="$1" '$2~ /^"pattern"/{print $2, $3, $4, "[" $1 "]"}' | sort
}
变量不会在 awk 的
/.../
正则表达式中展开。相反,您可以使用字符串形式"^"pattern
将锚运算符与可变模式值连接起来。前任。