【linux】コマンドの結果を標準出力に出す
特に決まりというわけではないそうですが、多くのコマンドが、ハイフン(-)ひとつを標準入出力のことと読み替えて処理をしてくれます。
標準入出力の口が何らかの事情でふさがっているという特殊な状況のコマンドで実装されているととても便利です。
例えば ImageMagick で試してみる。
convert -thumbnail 180x120 test.jpg test-thumb.jpg
コマンドの結果の縮小画像はtest-thumb.jpgに保存される。
では、ファイルを作らないで、標準出力に出力したいときは?
convert -thumbnail 180x120 test.jpg -
出力先にハイフンを指定すると標準出力に結果が出力される。画像のデータなので、当然読めないが、パイプで次の処理に渡したりできる。
ではwgetで試してみる。
wget -O index.html https://www.softel.co.jp/
wgetの結果はindex.htmlに保存される。では標準出力に出力して、パイプでwcに渡して行数を数えるには、
wget -O - https://www.softel.co.jp/ | wc
-Oオプションの保存先にハイフンを指定。
コメント