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
구문과 다소 다릅니다.)
추가 읽기
- Apple 법인 설립(2008-02-24).
find
MacOS 10 매뉴얼 페이지. MacOS 10 개발자 라이브러리. find
(1). 2010-03-17. FreeBSD 일반 명령 매뉴얼. FreeBSD 프로젝트.
답변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일반적으로 초를 처리하는 방법에 대해 설명합니다.