找到匹配项后打印以下所有行

找到匹配项后打印以下所有行

我有一个像这样的文件 a1.txt:

  a.log.54
  a.log.56
  a.log.57
  a.log.58
  a.log.59
  a.log.110
  a.log.113
  a.log.114
  a.log.115
  a.log.116
  a.log.117
  a.log.118
  a.log.119
  a.log.120
  a.log.121
  a.log.122
  a.log.112
  a.log.123
  a.log.124
  a.log.125
  a.log.126
  a.log.128
  a.log.129
  a.log.130
  a.log.131
  a.log.132
  a.log.133
  a.log.134
  a.log.135
  a.log.136
  a.log.127
  a.log.137
  a.log.139
  a.log.140

a2.txt

  a.log.124
  a.log.125

我需要将 a2.txt 的第一个条目匹配到 a1.txt 中,并在找到匹配后打印以下所有行。

  a.log.124
  a.log.125
  a.log.126
  a.log.128
  a.log.129
  a.log.130
  a.log.131
  a.log.132
  a.log.133
  a.log.134
  a.log.135
  a.log.136
  a.log.127
  a.log.137
  a.log.139
  a.log.140

答案1

这个awk脚本应该可以工作。例如,将第一行 froma2.txt设置为变量,trigger然后立即开始使用nextfile.从a1.txt记录匹配的点开始打印trigger

awk 'first{trigger=$0; nextfile}; 
    !first && $0 == trigger{start=1}; 
    start' first=1 a2.txt first=0 a1.txt

相关内容