loader.gif
リモートコンピュータですべてのファイルをフォルダに移動してみました。/Pictures
find . -iname *.gif | grep loader
移動したいファイルを4つ見せて、自然に試してみました。find . -iname *.gif | grep loader -exec cp *.gif /home/me/
loader.gif
afind
とaコマンドを使用して、grep
自分の基準に一致するすべてのファイルをどのようにコピーできますか? (grep
元のfindコマンドはすべてのファイルを表示するため、これを使用していますが、ファイル名のみが.gif
必要です。)loader.gif
答え1
GNUly:
find . -iname '*.gif' -print0 | grep -z loader | xargs -r0 cp -t /home/me
POSIX的に:
find . -name '*.[gG][iI][fF]' -path '*loader*' -exec sh -c '
exec cp "$@" /home/me' sh {} +
(私は-path
これを解決策と同じように使用しましたが、ディレクトリコンポーネントではなくファイル名でgrep
見つけようとしているようですloader
)-name
。
-iname '*.gif'
大文字ロケール(たとえば、GNUシステムのトルコ語ロケール)では一致しない可能性があります。.GIF
i
İ
I
答え2
私の考えのxargs
より簡単で簡単な解決策は次のとおりです。
find . -iname *.gif | grep loader | xargs cp -t /home/me