擅长:python、mysql、java
<p>这可能适用于您(GNU-sed):</p>
<pre><code>sed -s '1h;/>/d;H;$!d;x;s/\n//2g' file1 file2 file3 ...
</code></pre>
<p>将<code>-s</code>设置为分别处理每个文件</p>
<p>复制第一行</p>
<p>删除包含<code>></code>的任何其他行</p>
<p>将所有其他行附加到第一行</p>
<p>删除除最后一行之外的这些行</p>
<p>在文件末尾,切换到副本并删除除第一行以外的所有换行符</p>
<p>对所有文件重复此操作</p>
<hr/>
<p>非GNU SED的替代方案:</p>
<pre><code>for file in *.fasta; do sed '1h;/>/d;H;$!d;x;s/\n//2g' "$file"; done
</code></pre>
<p>注意:MacOS sed可能需要放在脚本中,并使用<code>-f</code>选项调用,或者使用<code>-e</code>选项(减去<code>;</code>命令)将其拆分为多个部分,您的运气可能会有所不同</p>
<p>或许:</p>
<pre><code>for file in file?; do sed $'1h;/>/d;H;$!d;x;s/\\n/@/;s/\\n//g;s/@/\\n/' "$file"; done
</code></pre>