문자열을 포함하지 않는 다른 하위 디렉터리에 파일 복사

문자열을 포함하지 않는 다른 하위 디렉터리에 파일 복사

다른 유형의 파일을 제외하고 특정 디렉토리 및 하위 디렉토리에 있는 특정 유형의 모든 파일을 복사하려고 합니다.

find /var/ftp/pub/bs -iname "*foo*.foo" -exec cp {} /var/ftp/pub/bs1 \;

이것은 효과가 있지만 더 정확한 제외를 수행하고 싶습니다.

그래서 그것으로 끝나는 파일을 복사해야 *.foo하지만 다음을 포함하는 파일은 제외해야 합니다.foo1

이와 같은 것 (이것은 작동하지 않습니다)

find /var/ftp/pub/bs -iname "*.foo" | grep --exclude="*foo1*" -exec cp {} /var/ftp/pub/bs1

답변1

find ... -iname "*.foo" ! -iname "*foo1*" ...

!쉘에 따라 탈출해야 할 수도 있습니다 .

관련 정보