![この場合、パイプよりもプロセスの交換が速いのはなぜですか? [コピー]](https://linux33.com/image/130483/%E3%81%93%E3%81%AE%E5%A0%B4%E5%90%88%E3%80%81%E3%83%91%E3%82%A4%E3%83%97%E3%82%88%E3%82%8A%E3%82%82%E3%83%97%E3%83%AD%E3%82%BB%E3%82%B9%E3%81%AE%E4%BA%A4%E6%8F%9B%E3%81%8C%E9%80%9F%E3%81%84%E3%81%AE%E3%81%AF%E3%81%AA%E3%81%9C%E3%81%A7%E3%81%99%E3%81%8B%EF%BC%9F%20%5B%E3%82%B3%E3%83%94%E3%83%BC%5D.png)
理由を知りたい
ls -1 |
while read file; do
echo $file; tail -n 100 $file > >(sleep 1 && cat > $file)
done
比較する
ls -1 |
while read file; do
echo $file; tail -n 100 $file | (sleep 1 && cat > $file)
done
?
ディレクトリに100個のファイルがある場合:
- 2番目のコマンドを処理するのに約100秒かかります。
- 最初のコマンドはほぼすぐに処理されます。