擅长:python、mysql、java
<p>使用<code>awk</code>可以执行以下操作:</p>
<pre><code>awk '
NR==FNR {
lines[NR,"col1"] = $1
lines[NR,"col2"] = $2
lines[NR,"line"] = $0
next
}
(lines[FNR,"col1"] != $1) {
print lines[FNR,"line"]
next
}
(lines[FNR,"col2"]+10 < $2 || lines[FNR,"col2"]-10 > $2) {
print lines[FNR,"line"]
}' file1 file2
C1 23
C1 24
C3 88
C7 79
C20 200
</code></pre>
<ul>
<li>我们读取第一个文件并创建一个多维数组,使用行号和字段作为键,并适当地存储column1、column2和lines。在</li>
<li>当我们迭代第二个文件时,我们将检查保持在适当的位置,并打印与检查点匹配的行。在</li>
</ul>