loader.gif
원격 컴퓨터에서 모든 파일을 폴더 로 이동해 보았습니다./Pictures
find . -iname *.gif | grep loader
이동하고 싶은 파일 4개를 보여주며 자연스럽게 시도해 보았습니다.find . -iname *.gif | grep loader -exec cp *.gif /home/me/
loader.gif
a find
및 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