擅长:python、mysql、java
<p>这里有一个<code>awk</code>的解决方案(您说的是<em>命令行或Python</em>):</p>
<pre><code>awk 'NR==FNR {ids[$1]=1} NR>FNR && ($1 in ids) {print $1 "\t" $3}' accessions taxids
</code></pre>
<p>说明:</p>
<ul>
<li>我们使用默认分隔符(空格或制表符)拆分输入行</li>
<li>首先我们读取<code>accessions</code>文件,然后<code>taxids</code></li>
<li>对于第一个文件中的行(虽然读取的记录总数等于当前文件中的记录数,<code>NR==FNR</code>),我们将第一列中的值添加到关联映射<code>ids</code></li>
<li>对于第二个文件中的行,我们打印第一个和第三个字段,用制表符分隔,但前提是第一个字段中的值出现在我们的登录id映射中</li>
</ul>