Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/unix/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
输出而非输入上的Awk模式匹配_Awk - Fatal编程技术网

输出而非输入上的Awk模式匹配

输出而非输入上的Awk模式匹配,awk,Awk,我使用awk从Apache日志中输出相关的实时数据,如下所示: tail-f访问日志| awk'{print$9、$1、$4、$7}' 工作很好,但它输出所有的图像,CSS等。所以我想将输出限制为仅HTML页面。如果我使用awk'/.html/{print$9,$1,$4,$7}它仍然匹配日志文件中的几乎所有行,因为引用者包括“.html”。但是我的输出没有引用者,所以有没有办法让awk仅在我的输出中匹配,而不是在输入中匹配?假设字段7包含您感兴趣的URL,请使用 awk '$7 ~ /\.ht

我使用
awk
从Apache日志中输出相关的实时数据,如下所示:

tail-f访问日志| awk'{print$9、$1、$4、$7}'


工作很好,但它输出所有的图像,CSS等。所以我想将输出限制为仅HTML页面。如果我使用
awk'/.html/{print$9,$1,$4,$7}它仍然匹配日志文件中的几乎所有行,因为引用者包括“.html”。但是我的输出没有引用者,所以有没有办法让
awk
仅在我的输出中匹配,而不是在输入中匹配?

假设字段7包含您感兴趣的URL,请使用

awk '$7 ~ /\.html/ {print <your-field-list>}'
awk'$7~/\.html/{print}'
我认为正确的字段号取决于日志文件的格式。我可能错了


这告诉awk只有在第七个字段与后跟“html”的文字点匹配时才打印字段列表。

请显示说明问题的示例数据。祝你好运
... | awk '
{ 
  output = $9 OFS $1 OFS $4 OFS $7
  if (output ~ /.html/) print output
}'