擅长:python、mysql、java
<p>看起来<code>sed</code>在每一行追加一个文本是非常有效的。
我提议:</p>
<pre><code>#!/bin/bash
for word in $(< words.txt)
do
sed "s/$/$word/" words.txt;
done > doublewords.txt
</code></pre>
<p>(您是否混淆了<code>$</code>,这意味着<code>sed</code>的行尾,而{<cd4>}是bash变量)。在</p>
<p>对于一个2000行的文件,在我的计算机上运行大约20秒,而您的解决方案大约需要2分钟。在</p>
<hr/>
<p>备注:看起来你最好重定向整个程序的标准输出,而不是在每个循环中强制写入。在</p>
<hr/>
<p>(警告,这有点离题和个人观点!)在</p>
<>如果你真的要追求速度,你应该考虑使用编译的语言,如C++。例如:</p>
^{pr2}$
<p>您需要了解bash和python都不擅长double for循环:这就是为什么要使用技巧(@Thanatos)或预定义命令(<code>sed</code>)。最近,我遇到了一个双循环问题(给定一组10000个点的3D,计算所有的距离对),我成功地用C++来代替它,而不是Python或Matlab。在</p>