-find / -name ".txt" -exec cp {} /junk \では、execの代わりにパイプを使用できます。

-find / -name

/junk名前に.txtを含むファイルを見つけて、一致する各エントリをフォルダにコピーするには、次のコマンドを使用します。

find / -name ".txt" -exec cp {} /junk \;

-exec上記のコマンドの代わりにパイプを使用できますか?

パイプが同時に(パイプの各側)動作し、パイプが-exec左に最初に流れ、次に右に流れると言った人が覚えているようです。これは恋しいですか?パイプラインは、右側のコマンドに出力を提供する前に左側のコマンドから出力を取得する必要があるため、同時に実行できる方法がわかりません。

ベストアンサー1

cpioこれには、コピーパススルーモードを使用できます。

find sourcedir -name "*.txt" | cpio -pd /junk

cpio標準入力からファイルのリストを取得し、コピーパススルーモードでファイルをターゲットディレクトリにコピーします。

おすすめ記事