특정 크기보다 큰 폴더의 모든 파일에 대해 작업 [중복]

특정 크기보다 큰 폴더의 모든 파일에 대해 작업 [중복]

일부 PhotoRec 출력 파일을 처리하고 있는데 특정 크기 임계값(예: 10M)보다 큰 파일에만 관심이 있습니다. 다른 게시물에서 재귀적으로 정렬하는 방법을 찾았습니다(크기에 따라 파일을 재귀적으로 정렬) 하지만 이 모든 파일을 다른 위치로 이동한다고 가정하면 확실하지 않습니다.

이제 폴더 구조는 다음과 같습니다.


상위 폴더

  • 다시 1
  • 다시 2
  • 에 대한...

답변1

find명령을 사용하면 크기가 10M보다 큰 모든 파일을 찾아 이동할 수 있습니다.

find . -type f -size +10M -exec mv -t path/to/target/dir {} +

이 구문을 사용하면 mv모든 파일에 대해 하나의 프로세스만 사용하거나 필요한 프로세스만 사용합니다. 인수가 너무 많은 경우 내부적으로 처리되고 필요한 경우 두 번째, 세 번째 세 개의 다른 프로세스를 트리거할 수 있기 때문입니다.

작동한다는 것은 여러 인수를 사용하여 명령을 실행할 수 있다는 의미이며, -exec <command> {} \;인수별로 프로세스를 시작하는 구문을 사용하는 것이 좋습니다. 사용해야 할 중요한 점 {} +은 중괄호와 사이에 아무것도 존재할 수 없다는 것입니다 +. 따라서 이 명령의 경우 매개변수를 사용하여 대상 디렉터리를 정의 mv해야 합니다 .-t

관련 정보