有什么区别
sed -ne '10{p;q;}' file.txt
&安培;
sed -ne '10{p;q;}' <file.txt
?
我知道sed在这里做了什么,而我所关注的是输入传递的方式.就是我拿了一个sed的例子.
在以下类似的情况下,我相信(这也可能是一个严重的误解):
exec 4<&0; exec 0<file.txt;sed -ne '10{p;q;}'-;exec 0<&4
正在发生(4,我只是一个临时文件描述符).
所以两者都应该同样快.我错了吗?
最佳答案 两者都会以sed处理的文件结束文件描述符,区别在于谁有效地打开()文件,但其余部分是相同的.与无用的猫和管道形成对比.性能影响可能与grep(尤其是GNU grep)更相关,grep在开放fd和更简单的stdin流上做了非常聪明的事情.