猫は避けたほうがいいです。行の編集が重要な場合は、このように記述してください:
$ < filename grep pattern
その理由は、cat を介してすべてのデータをプッシュすると、メモリと CPU リソースが消費されるためです。 stdin をリダイレクトするのではなく、ファイル名を引数として渡すことのもう 1 つの利点は、コマンドがファイルを mmap() するオプションを使用できることです。
「猫の無用な使用」 http://www.smallo.ruhr.de/award.html にまだ誰も言及していないなんて信じられない
疑わしい利点が 1 つあります。長いパイプラインがある場合は、cat:ともう少し直交しているように見えます:
cat file | command1 | command 2 | command3
すべてのコマンドがまとめられています。
もちろん、他の人が言ったように (そして私もそうです)
< file command1 | command2 | command3
ほとんど同じことを実行します。そうは言っても、cat はかなり小さいので、必要のないときに使用してもコンピューターがダウンすることはありません。
通常は cat
を使用 vsファイルを直接叩いても何も変わりませんが、 grep
など、引数として複数のファイルがあるかどうかを気にする特定のコマンドには違いがあります .適切なケース:
cat file1 file2 | grep SOMETHING
とは異なる出力になります
grep SOMETHING file1 file2
出力に一致するファイル名が含まれます。ファイル名が必要ない場合もありますが、cat
を使用する利点があります。 .
利点はありません。代わりに次のように構成すれば、カーソルが最後にあることもあまり問題になりません:< inputfile grep -args foo