폴더에 나노초 타임스탬프가 있는 파일이 있습니다.
FileLastestFile.ext
FileOther0.ext
FileOther1.ext
FileOther2.ext
FileOther3.ext
FileOther4.ext
...
FileOther.ext
FileLastestFile.ext
해당 디렉터리()의 최신 파일에서 10초 동안 생성된 파일 만 유지하고 싶습니다 .
명령을 사용해 보았지만 타임스탬프를 원본으로 지정 find .. -newermt
하는 방법을 모르겠습니다 .FileLastestFile.ext
답변1
나는 이것이 FileLatestFile.ext의 시간을 사용하여 %x
마지막 액세스, %y
마지막 수정 및 %z
마지막 상태 변경을 나타내는 방법을 보여준다고 생각합니다.
$ find /folder/ -mindepth 1 -newerct "$(stat --printf=%y /folder/FileLatestFile.ext)" 2>/dev/null
이제 비결은 10초를 빼는 것입니다. 거기에서.
답변2
그리고 zsh
:
#! /bin/zsh -
zmodload zsh/stat
newest=(*.ext(-om[1]))
zstat -F%s.%N -A mtime_of_newest +mtime -- $newest || exit
(( cutoff = mtime_of_newest - 10 ))
older_than_cutoff() {
local mtime
zstat -F%s.%N -A mtime +mtime -- ${1-$REPLY} && (( mtime < cutoff ))
}
rm -rf -- *.ext(+older_than_cutoff)
(symlink의 경우에는 심볼릭 링크가 해결된 후 파일의 mtime이 고려됩니다. 심볼릭 링크 자체의 mtime을 고려하려면 in을 제거 -
하고 두 호출에 -om
해당 옵션을 추가하세요 .)-L
zstat