パイプとリダイレクトコマンドの本当の力を理解したい。私の理解で|
は、1つのコマンド結果の出力をそれ自体の入力として受け取ります。そして、>
それは出力のリダイレクトに役立ちます。そうであれば、
find . -name "*.swp" | rm
find . -name "*.swp" > rm
このコマンドが期待どおりに機能しない理由。上記のコマンドは、
- 現在のディレクトリで拡張子が.swpであるすべてのファイルを再帰的に検索します。
- の出力を取得し
1.
、結果のファイルをすべて削除します。
参考までに、はい、私はこのタスクを実行する方法を知っています。-exec
フラグを渡すことで実行できます。
find . -name "*.swp"-exec rm -rf {} \;
しかし、すでに述べたように、私は>
または|
コマンドでそれを達成したいと思います。
私が間違っていて間違った方向に進んでいる場合は、私を訂正して、リダイレクトとパイプコマンドを説明してください。どこで誰のコマンドを使用しますか?私がすべてを読んだ簡単な本の例に言及しないでください。私にいくつかの複雑なことを説明してみてください。