Linux/Unix ターミナルを使用して多数のファイルを新しい場所にコピーする

Linux/Unix ターミナルを使用して多数のファイルを新しい場所にコピーする

Linux ターミナルを使用して、多くのファイルを新しい場所にコピーしようとしています。次のコマンドを試しました:

sudo で位置を特定 -i欲しいファイル| xargs cp $1 /すべてをコピーしたい場所/

エラーが発生します。これを処理するための正しい方法は何ですか?

答え1

xargsそのようには動作しません。$1 は使用されません。通常は、引数をパラメータ リストの末尾に追加するだけです。ただし、この場合は、宛先ではなくターゲットであり、末尾のパラメータは必要ないため、動作しません。

xargsのフラグをチェックしてください-i。置換が可能です。デフォルトでは{}が使われます。find

sudo locate -i *file_I_want* | xargs -i cp {} /place_I_want_everything_copied_to/

@javano のコメントも回答ですが、ファイル名にスペースが含まれていると機能しなくなります (ただし、スペースがあると上記の xargs の使用も機能しなくなると思います)

関連情報