awk中如何通过变量进行搜索
我正在尝试使用 awk 获取给定模式后的第 N 行。 问题是 awk 按字面意思搜索模式:
awk -v patt=${1} -v rows=${2}'NR==p {print} /patt/ {p=NR+rows}'
如何转义“patt”valiable ?
I'm trying to get the N-th row after a given pattern with awk.
The problem is that awk searches pattern literally:
awk -v patt=${1} -v rows=${2}'NR==p {print} /patt/ {p=NR+rows}'
How to escape the "patt" valiable ?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
使用 awk 匹配运算符而不是斜杠:
Use the awk matching operator instead of the slashes:
我已经设法让它工作,用双引号
I've maneged to get it work,with double quotes
包含 awk 程序的字符串没有什么特别的,因此您可以像往常一样在 shell 中构建它,例如:
There's nothing special about the string containing the awk program, so you can build it as usual in the shell, e.g.: