특정 유형의 모든 파일을 Unix의 디렉터리로 어떻게 이동(또는 복사)할 수 있습니까?

특정 유형의 모든 파일을 Unix의 디렉터리로 어떻게 이동(또는 복사)할 수 있습니까?

나는 아직 grep/find/awk/xargs의 모든 트릭에 익숙하지 않으므로 인내심을 가지십시오 =]

특정 디렉토리 전체의 임의의 위치에 *.xxx라는 특정 파일 형식이 있습니다. 이러한 파일을 모두 찾아서 Unix의 홈 디렉터리(아직 없을 수도 있음)에 있는 폴더로 이동하려면 어떻게 해야 합니까?

답변1

find옵션 과 함께 사용 exec하되 먼저 대상 폴더를 생성하세요.

mkdir -p /home/somewhere/else
find /somewhere -iname "*.xxx"

이동될 모든 항목이 나열됩니다. 이제 이동하려는 파일이 확실하다면 다음을 실행하십시오.

find /somewhere -iname "*.xxx" -exec mv '{}' /home/somewhere/else/ \;

exec이 줄 에서는 '{}'실제 파일 이름으로 대체되고 대상으로 이동됩니다. 마찬가지로 복사 mv하려면 cp. \;명령을 종료하려면 이 필요합니다.

기존 파일을 덮어쓰는 각 파일 작업 전에 확인을 원하는 경우 각각 또는 -i뒤에 옵션을 추가할 수 있습니다 .mvcp

grep, xargs등이 필요하지 않습니다 . 이렇게 하면 상황이 불필요하게 복잡해집니다.

관련 정보