15 초 이상이지만 2 초 이상인 파일 찾기


17

15 초 이상이지만 2 초 이상인 파일을 찾고 싶습니다. 현재 내가 사용하고있는 스크립트는 15 초보다 새로운 파일을 가져옵니다.

find /my/directory -name '*.jpg' -not -newermt '-15 seconds'

어떤 도움이라도 대단히 감사합니다


2
어떤 운영 체제를 사용하고 있습니까? find구현에 차이가 있습니다 .
terdon

정확히 2 초 전에 수정 된 파일이 일치해야합니까? 정확히 15 초 전에 수정 된 파일은 어떻습니까?
Mikel

스크립트가 시작될 때 또는 종료 될 때 2 초 이상입니까?
Stéphane Chazelas

@Mikel, 요즘은 시계의 나노초 해상도가 다르기 때문에 아마도 관련이 없습니다.
Stéphane Chazelas

1
좋아 ... 다른 사람이 묻지 않기 때문에 ... @ Yllier123 왜 2 <x <15 sec 사이에 생성 된 파일을 찾아야합니까? 그냥 궁금 해서요
C Bauer

답변:


17

여러 술어를 연결하여 결합 할 수 있습니다.

-oldermt없지만으로 쓸 수 있습니다 -not -newermt.

당신이 원하는 :

  • -newermt '-15 seconds' 파일이 15 초 미만이라고 말하면
  • -not -newermt '-2 seconds' 파일이 2 초 이상 지난 것

시험:

find /my/directory -newermt '-15 seconds' -not -newermt '-2 seconds'

또는 POSIX 호환 :

find /my/directory -newermt '-15 seconds' \! -newermt '-2 seconds'

또한, 당신과 다른 독자들도 "최신"은 더 최근에 수정 된 것보다 더 최근에 수정 된 것을 의미합니다.


3
좋은. 참고 -not -newermt '-2 seconds'또한 정확하게 이초 오래된 파일을 일치합니다. -not -newermt '3 seconds'그것들도 제외시키기 위해 사용하십시오 .
terdon

1
그래, 엣지 케이스는 항상 재미있다. 실제로 이러한 비교에 어떤 해상도를 사용하는지 잘 모르겠습니다. ~ 2.000000001 초 전에 수정 된 것은 일치하지만 파일 시스템과 운영 체제에 따라 다릅니다.
Mikel

좋은 지적은, 나는 해상도가 무엇인지 전혀 모른다. 난 그냥 테스트 touch -d "2 seconds ago" file; find . -newermt '-15 seconds' -not -newermt '-2 seconds'하고 있어요 file.
terdon

@terdon 음, 타임 스탬프의 해상도가 1 초보다 정확한지 여부에 따라 다릅니다. 이는 시스템, 파일 시스템에 따라 다르며 여러 시스템에서 사용하는 경우 동일한 파일 시스템의 파일마다 다를 수 있습니다.
Blacklight Shining

"최신"은 "보다 최근"을 의미합니다. "수정 된"을 의미하는 "m"입니다.
OrangeDog

4

당신은 당신의 OS를 언급하지 않았습니다 ....

이것은 FreeBSD 또는와 같은 현대적인 find 구현에서 잘 작동합니다 sfind.

find /my/directory -name '*.jpg' -mtime -15s -mtime +2s

Sfind는 Schily 툴의 일부입니다 : http://sourceforge.net/projects/schilytools/files/

경고 : 방금의 문제를 발견했습니다 sfind. 경우 -mtime인수가 적은 60보다 파일 시간이 현재 타임 스탬프 원래의 올해 스위치에 대해 계산 된 미래 60 초 비교, 그것은 제대로 작동하지 않습니다 -ls.

BTW :에 -not속하지 않으며 find이식 할 수없는 GNUism입니다.


1
bash환경이, Cygwin에서, 데비안 GNU / 허드가 될 수 있도록 태그는 ... bashFreeBSD의 또는 Solaris, ... ;-)에서 실행
phk

GNU의 경우 find, 미묘하지만 소수는 해결 방법으로 사용할 수있는 것 같습니다.
Arthur2e5

POSIX find 에는 !-not as가 없습니다! expression . 따라서 큰 문제는 없습니다.

@phk 이것이 기능을 향상시키기 위해 항상 새로운 것을 추가 할 필요가 없다는 것을 사람들에게 알리기 위해 향상된 표준 primary에서 작동하는 방법을 언급 한 이유 입니다. BTW :에 고정 이 게시되었습니다 . findprimarieslibfindschily tools
schily

@ BinaryZebra 문제는 별명을 전혀 gfind추가하지 않았다는 -not것입니다. 그것은 결코 필요하지 않았으며 존재는 전략의 벤더 잠금으로 볼 수 있습니다.
schily
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.