【发布时间】:2019-12-25 00:32:28
【问题描述】:
我有一个这样的文件(其中 xxxn = 任意随机字符串):
xxxx1
xxxx2
xxxx3
xxxx4
END
xxxx5
xxxx6
xxxx7
END
xxxx8
...
我想在 shell 变量和下一个 END 之间进行匹配。 假设shell变量等于xxxx2,我想:
xxxx3
xxxx4
我认为 awk 可能是完成这项工作的工具,但我对其他命令持开放态度。
如果我像这样硬编码(再次使用 xxxx2),我就可以正常工作了:
awk '/xxxx2/{flag=1;next}/^END/{flag=0}flag' file
但我希望它引用一个 shell 变量和要转义的符号。 我试过了:
awk -v var="$my_var" '/~var/{flag=1;next}/^END/{flag=0}flag' file
(看完这篇https://stackoverflow.com/a/39384347/11633601) 但这什么也没输出。
谢谢。
【问题讨论】: