1분보다 오래된 모든 파일 찾기

1분보다 오래된 모든 파일 찾기

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

반대 방법으로 를 사용하여 지난 60초 동안 수정된 파일을 찾을 수 있다는 것을 알고 있지만 -mtime -60s지난 60초 동안 수정되지 않은 파일을 원합니다.

Linux를 사용하는데 초를 사용하면 다음 오류가 발생합니다.

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

답변1

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

숫자 바로 앞 은 -일반적인 "인수 대시"가 아니라 "보다 작음"을 의미합니다. +그 다음은 "이상"입니다.

에서 man find:

숫자 인수를 사용하는 모든 기본은 숫자 앞에 더하기 기호(``+'') 또는 빼기 기호(``-'')가 올 수 있도록 허용합니다. 앞의 더하기 기호는 ``n보다 많음''을 의미하고, 앞에 오는 빼기 기호는 ``n보다 작음''을 의미하며 둘 다 ``정확히 n''을 의미하지 않습니다.

다음과 같은 점에 유의해야 합니다.정확히 n, 시간은 반올림됩니다. 따라서 1(1일)은 86400초를 의미하지 않습니다.

답변2

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

답변3

두 번째 --mtime -60s~ 아니다옵션 구분 기호.

-mtime옵션이며 그 뒤에는옵션 인수. 옵션 인수는 -60s이고 그 -안의 는 옵션 인수 자체의 일부입니다.~ 아니다옵션 구분 기호. 이는 "60초 미만"을 의미합니다. 옵션 인수는 60s각각 +60s"60초와 같음"과 "60초보다 큼"을 의미합니다.

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

(GNU에 대한 GNU Info 매뉴얼에는 find흥미롭게도 동일한 생략이 있습니다. 그러나 GNU find의 시간 구문은 BSD 및 MacOS find구문과 다소 다릅니다.)

추가 읽기

답변4

Unix 시스템에서는 -mtime 뒤에 +/-, 숫자, 시간 단위가 옵니다. [+-]nn[dms]

Linux는 일 동안 mtime을, 분 동안 mmin을 사용하지만 초 옵션이 없는 것 같고 시간 단위 지정자를 사용하지 않습니다. + 또는 -는 위에서 언급한 옵션 인수가 아닌 시간보다 크거나 작은 것을 나타냅니다.

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

관련 정보