1 분보다 오래된 모든 파일 찾기 초 동안 수정 된 파일을

find마지막 순간에 작성되어 수정되지 않은 파일을 선택하려면 어떻게 해야합니까?

나는 다른 방법으로 할 수 있다는 것을 알고 있습니다. 지난 60 초 동안 수정 된 파일을 찾으십시오 -mtime -60s.하지만 지난 60 초 동안 수정되지 않은 파일을 원합니다.

Linux를 사용하고 초를 사용하면이 오류가 발생합니다.

find ??/ -mtime +60s -name blah.tsv
find: invalid argument `+60s' to `-mtime'



답변

사용하다 find /path -type f -mtime +60s

-단지 숫자 전에 수단 “이하”규칙 “인수 대시”가 아니라. +“이상”입니다.

보낸 사람 man find:

숫자 인수를 사용하는 모든 1 차는 숫자 앞에 더하기 부호 (“+ ”) 또는 빼기 부호 (“- ”)가 올 수 있습니다. 앞의 더하기 부호는“n 이상 ”을, 선행 빼기 부호는“n보다 작음 ”을 의미하고“정확하게 n ”을 의미하지 않습니다.

이를 위해 주목해야한다 정확하게 N , 시간이 둥글게된다. 따라서 1(1 일)은 86400 초를 의미하지 않습니다.


답변

find . -type f -mmin +1

$ ls *
four.txt  one.txt  three.txt  two.txt

$ touch foo && find . -mmin +1
.
./three.txt
./four.txt
./two.txt
./one.txt


답변

두 번째 -의가 -mtime -60s있다 되지 옵션 구분.

-mtime옵션이며 옵션 인수 가 뒤에옵니다 . 옵션 인수는입니다 -60s. 그리고 옵션 인수는 옵션 구분자가 아니라- 옵션 인수 자체의 일부입니다 . “60 초 미만”을 의미합니다. 옵션 인수 와 평균은 각각 “60 초와”및 “60 초 이상”을 의미합니다.60s+60s

Apple MacOS 매뉴얼과 FreeBSD 매뉴얼 은 정확히 한 곳에서 접두사 +-접두사를 언급하고 어디에 있는지 설명하는 것을 잊어 버립니다. 이것이 그들이하는 것입니다.

(GNU에 대한 GNU 정보 매뉴얼은 find흥미롭게도 생략되어 있습니다. 그러나 find시간에 대한 GNU 구문은 BSD 및 MacOS find구문 과 약간 다릅니다 .)

추가 자료


답변

사용할 수 있어야합니다

find . ! -mtime -60s


답변

유닉스 시스템에서 -mtime은 +/- 다음에 숫자와 시간 단위가 왔습니다. [+-] nn [dms]

Linux는 mtime을 며칠 동안, mmin을 몇 분 동안 사용하지만 초 옵션은 없으며 시간 단위 지정자를 사용하지 않습니다. + 또는-는 여전히 위에서 언급 한 옵션 인수가 아니라 시간보다 크거나 작습니다.

-mmin 1을 사용할 수는 있지만 /unix/238738/find-files-newer-than-15-seconds-but-older-than-2-seconds 에서 일반적으로 초를 처리하는 방법에 대해 설명합니다. .


답변