답변:
다음과 같이 find 명령을 사용하십시오.
find . -name "*.txt" -mtime -60s
*.txt
지난 60 초 동안 수정 된 모든 파일 을 찾습니다 .
-mtime
. POSIX 또는 GNU find에서 "60s"도 유효한 옵션도 아닙니다. 인수 -mtime
는 파일이 수정 된 24 시간 전의 수를 지정하는 숫자입니다.
mtime으로 초를 지정하는 솔루션은find --version
== 사용하는 Linux 시스템에서 작동하지 않습니다 find (GNU findutils) 4.4.2
.
다음과 같은 오류가 발생합니다.
mycomputer:~/new$ find . -mtime -60s
find: missing argument to `-mtime'
mycomputer:~/new$ find . -mtime -60seconds
find: missing argument to `-mtime'
그러나 -mmin
(마지막 m 분 동안 수정)을 사용할 수 있으며 십진 인수를 취할 수 있습니다. 예를 들어, 다음은 지난 30 초 동안 수정 된 파일을 찾습니다.
find . -mmin 0.5
예를 들어; 지난 120 초 동안 마지막으로 수정 된 1, 6, 11, ... 파일을 작성하면이 명령은 다음을 찾습니다.
mycomputer:~/new$ for i in $(seq 1 5 120); do touch -d "-$i seconds" last_modified_${i}_seconds_ago ; done
mycomputer:~/new$ find . -mmin 0.5
.
./last_modified_1_seconds_ago
./last_modified_26_seconds_ago
./last_modified_11_seconds_ago
./last_modified_16_seconds_ago
./last_modified_21_seconds_ago
./last_modified_6_seconds_ago
따라서 몇 초 안에 실제로 필요한 경우 다음과 같이 할 수 있습니다.
localhost:~/new$ for i in $(seq 1 1 120); do touch -d "-$i seconds" last_modified_${i}_seconds_ago ; done
localhost:~/new$ N=18; find . -mmin $(echo "$N/60"|bc -l)
./last_modified_1_seconds_ago
./last_modified_9_seconds_ago
./last_modified_14_seconds_ago
./last_modified_4_seconds_ago
./last_modified_12_seconds_ago
./last_modified_13_seconds_ago
./last_modified_8_seconds_ago
./last_modified_3_seconds_ago
./last_modified_5_seconds_ago
./last_modified_11_seconds_ago
./last_modified_17_seconds_ago
./last_modified_16_seconds_ago
./last_modified_7_seconds_ago
./last_modified_15_seconds_ago
./last_modified_10_seconds_ago
./last_modified_6_seconds_ago
./last_modified_2_seconds_ago
이를 수행하는 가장 간단한 방법은 다음과 같습니다.
find . -name "*.txt" -newermt '6 seconds ago'
-mtime -60s
의 많은 버전에서 작동하지 않습니다 답변에서 언급 한 옵션, find
심지어 2016 년은 -newermt
우리에게 더 나은 옵션입니다. 다양한 날짜 및 시간 형식을 구문 분석 할 수 있습니다.
사용하는 다른 방법 mmin
은 다음과 같습니다.
find . -name "*.txt" -mmin -0.5
# Finds files modified within the last 0.5 minute, i.e. last 30 seconds
이 옵션은 모든 find
버전에서 작동하지 않을 수 있습니다 .
파일 변경 사항에 대한 디렉토리를 모니터링하는 경우 무한 폴링 루프 대신 inotify-tools 를 사용하고 싶을 것입니다 .
find: missing argument to `-mtime'
합니다. 그러나 -mmin과 10 진수 인수를 사용하여 원하는 동작을 얻을 수 있습니다. 맨 페이지에서 find를s
인수로 사용하기위한 참조를 찾을 수 없습니다 .