-exec 및 -mtime을 사용하여 'find' 명령을 실행할 때 인수가 잘못되었습니다.

-exec 및 -mtime을 사용하여 'find' 명령을 실행할 때 인수가 잘못되었습니다.

Centos에 꽤 이상한 오류 메시지가 나타났습니다.

이 명령을 실행하려고 했습니다.

find /tmp/something -type f -mtime +2h -exec cp '{}' /tmp/target \;

그리고 내가 가진 오류는 다음과 같습니다.

find: invalid argument `-exec' to `-mtime'

다른 배포판에서는 '찾기'가 다를 수 있습니까?

답변1

-mtime며칠 동안 사용됩니다. 2시간이 필요한 경우 다음을 확인하세요.

find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;

mmin은 분을 지정하므로 -mmin +120은 120분 이상 전(2시간)을 필터링합니다. 매뉴얼에서:

-m시간 n

파일의 데이터가 n*24시간 전에 마지막으로 수정되었습니다. 반올림이 파일 수정 시간 해석에 어떤 영향을 미치는지 이해하려면 -atime에 대한 설명을 참조하세요.

-mmmin n

파일의 데이터가 n분 전에 마지막으로 수정되었습니다.

답변2

MacOS에서의 구현 find은 Linux에서 사용 가능한 구현과 약간 다릅니다. Linux 시스템에서 위의 오류가 발생했다고 생각합니다.

Linux에서는 mtime+-와 숫자만 허용됩니다. 숫자는 일수입니다.

위에서하고 싶은 일을하려면 다음을 사용해야합니다.mmin

-mmin n
      File’s data was last modified n minutes ago.

이 명령은 Linux에서 작동합니다.

find /tmp/something -type f -mmin +120 -exec cp '{}' /tmp/target \;

관련 정보