`-exec`と`xargs`を使用するときにダッシュ( "-")で始まるファイル名を処理します。

`-exec`と`xargs`を使用するときにダッシュ(

私はフォローしていますこの問題ここにある一部のファイル名には、ファイル名の先頭にダッシュが含まれています。これは追加オプションとして解釈されますcp

次のような別の質問(ServerFault関連)、コマンドを次のように変更してみました。

shuf -zn8 -e *.jpg | xargs -0 cp -vt -- {} target/ 

または

shuf -zn8 -e *.jpg -exec cp -vt -- {} target/

役に立たない。-ファイル名の先頭をどのように処理しますか?

ベストアンサー1

ダッシュで始まるファイル名を処理しているshufようではありません。コマンドcpに二重ダッシュを追加してみてください。shuf

shuf -zn8 -e -- *.jpg | xargs -0I{} cp -vt -- "{}" target/ 

find代わりにこれを使用しますshuf

find . -type f -name '*.jpg' -print0 | xargs -0I{} cp "{}" target/

cpfindまた、この場合はプレフィックス付きのファイル名が返されるため、ダブルダッシュは必要ありません./

おすすめ記事