プログラミング
cat(1)コマンドの悪用に関するPSA。猫を悪用しないでください
PSA about abuse of cat(1) command. Don't abuse cats (abuseofcats.com)
要約
この記事は、Unix/Linuxコマンド`cat`の誤用について警告しています。単一のファイルを読み込んで別のコマンドにパイプする場合、`cat`コマンドは不要なプロセスを生成し、CPUリソースを浪費します。`grep`や`wc`などのコマンドは、直接ファイルを開くことができるため、`cat`を介さずに使用することで、より効率的な処理が可能になります。`cat`は本来、複数のファイルを連結するためのコマンドであることを強調しています。
全文翻訳
abuseofcats.com — cat(1)に関する公共サービスアナウンスメント
$ cat /etc/app/config | grep -v '^#'
abuse. this cat did nothing wrong.
/_/
( ;_; )
> ^ <
$ grep -v '^#' /etc/app/config
humane. same output, one less process.
/_/
( ^.^ )
> ^ <
grepはそれ自体でファイルを開くことができます。
単一のファイルをcat経由でパイプすると、すでにそれを読み取る方法を知っているプログラムにバイトをコピーするだけのジョブを持つプロセス全体が生成されます。
cat(1)はファイルを連結するためのものです。catにcatであることをさせましょう。
危険にさらされている他の猫たち:
cat file | wc -lwc -l < file
cat file | head -n 5head -n 5 file
cat file | awk '{print $1}'awk '{print $1}' file
cat file | sortsort file