文本单趟匹配问题

从日志中匹配出单个域名的情况,例如

grep a.com access.log >a.com.log
grep b.com access.log >b.com.log

如何只跑一趟grep,把两个域名都匹配出来并且输出到不同的文件?

阅读 3.2k
1 个回答

grep可以实现同时搜索a.comb.com,但是不能分别导入不同的文件.
awk可以:

awk '/(a|b)\.com/{ym=gensub(/.*(a|b)\.com.*/,"\\1",$0);print $0 >"'`pwd`'/"ym".com"}' access.log

clipboard.png

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进