66

コマンドを実行するmv folder2/*.* folderと、「引数リストが長すぎます」というエラーが表示されます。

を使用して、このエラーに対処するlsとの例をいくつか見つけました。しかし、私はそれらを に適用するのに苦労しています。rmfind folder2 -name "*.*"mv

4

6 に答える 6

129
find folder2 -name '*.*' -exec mv {} folder \;

-exec任意のコマンドを実行し、 {}見つかったファイル名を挿入し\;、exec コマンドの終わりをマークします。

于 2012-08-13T21:18:33.593 に答える
30

他のfind回答は機能しますが、ファイルごとに1つのコマンドを実行するため、多数のファイルに対してはひどく遅くなります。はるかに効率的なアプローチは+、の最後に使用するか、 :findを使用することです。xargs

# Using find ... -exec +
find folder2 -name '*.*' -exec mv --target-directory=folder '{}' +

# Using xargs
find folder2 -name '*.*' | xargs mv --target-directory=folder
于 2012-08-13T21:44:09.390 に答える
4

find folder2 -name '*.*' -exec mv \{\} /dest/directory/ \;

于 2012-08-13T21:18:32.113 に答える