要使用awk在两个模式之间打印行,并将模式作为变量传递给awk,可以使用以下方法:
awk -v pattern1="模式1" -v pattern2="模式2" '/pattern1/,/pattern2/{print}' 文件名
在上述命令中,将模式1和模式2作为变量传递给awk,并使用/pattern1/,/pattern2/
来匹配两个模式之间的行。然后,使用{print}
打印匹配到的行。
以下是一个完整的示例:
假设有一个文件example.txt
,内容如下:
第一行
模式1
第二行
第三行
模式2
第四行
模式1
第五行
模式2
第六行
我们想要打印出模式1和模式2之间的行。我们可以使用以下命令:
awk -v pattern1="模式1" -v pattern2="模式2" '/pattern1/,/pattern2/{print}' example.txt
运行上述命令后,输出将是:
模式1
第二行
第三行
模式2
模式1
第五行
模式2
注意事项:
下一篇:awk打印满足条件的行-大于