【发布时间】:2021-06-05 13:15:25
【问题描述】:
我有一个文件,我需要使用 awk 在匹配结果上方 2 行。我整理了以下内容,到目前为止一切都很好,但是我想使用匹配大小写进行搜索:
#cat data.out
{ unload file name = dupli00913.unl number of rows = 251 }
create table vodac.duplicall2
{ unload file name = dupli01608.unl number of rows = 0 }
create table vodac.duplicall
我用来实现我想要的命令如下:
cat data.out | awk "/create table vodac.duplicall/{for(i=1;i<=x;)print a[i++];print} {for(i=1;i<x;i++)a[i]=a[i+1];a[x]=\$0;}" x=2 | head -1 | awk '{print $6}'
上面给了我以下:
dupli00913.unl
输出命令给了我我需要的东西,但必须是“duplicall”表而不是“duplicall2”。如何在我的命令中实现这一点以匹配特定于大小写的字符串?
【问题讨论】:
-
您的
grep命令是否支持-B选项?这会比 awk 更容易