find コマンドで変数を使用する

find コマンドで変数を使用する

mount |awk '{print $3}'-->マウントポイントリスト

find "list of mount points"  -name  "aaa" -print

前の行の結果を検索ディレクトリfindコマンドにどのようにリダイレクトできますか?

一行にしたいです。

mount |awk '{print $3}' | find "converting pipe result to a variable as directory" -name "aaa" -print

このように動作させることは可能ですか?

答え1

このように動作させることは可能ですか?

はい、次のようになりますxargs

mount |awk '{print $3}' | xargs -I {} find {} -name "aaa" -print

-P nxargs最大同時プロセスのために追加すると、nハードドライブを並列に検索することもできます(GNU拡張です)。

答え2

あなたが探しているコマンドの置き換え:コマンドの出力をコマンドラインに置き換えます。

find $(mount |awk '{print $3}') -name "aaa" -print

これらの制限のため、マウントポイントにスペースや*?\[awk

findマウントポイントを巡回しないように指示する必要があります。それ以外の場合は、find /システム全体を巡回します。パス-xdevオプション。

find $(mount |awk '{print $3}') -xdev -name "aaa" -print

find内部システムで使用されるファイルシステムは非常に大きく、読み取り権限のない多くのファイルを含む可能性があるため(偽のエラーメッセージが表示される)、マウントされたすべてのファイルシステムで実行しないでください。からファイルシステムのリストをインポートする代わりにmountからインポートすると、df一部が省略されます。

find $(df -P |awk 'NR != 1 {print $6}') -xdev -name "aaa" -print

関連情報