シェル②パイプライン

前回に引き続き調べにくいコマンドパイプライン | (縦棒)について
これは複数のコマンドを実行したいときに使います

例: カレントディレクトリの.dmgだけを調べたいとき

ls | grep dmg

とするとlsで表示されるファイルの中からdmgファイルだけが絞られて表示される。
応用して

ls | grep dmg | xargs rm -rf 

とするとカレントディレクトリのdmgファイルをすべて削除できる。
ちなみにxargsは前のパイプラインの結果を標準入力として次のコマンドの引数に渡すコマンド。

さらに応用して

find ~ -name "*.dmg" -o -name "スクリーンショット*" | xargs rm -f

みたいな感じで書いて、macのlaunchd使ってゴミファイルを定期的に削除するものを作ったりもできそう。