오늘(00:00) 이전에 생성된 현재 디렉터리에서 파일을 찾거나 나열합니다.

오늘(00:00) 이전에 생성된 현재 디렉터리에서 파일을 찾거나 나열합니다.

나는 성공하지 못한 채 이것을 철저히 검색해 왔습니다. 오늘 00:00 이전에 생성된 현재 디렉터리(하위 디렉터리 제외)의 파일 목록을 검색하려면 Mac에서 터미널 명령을 사용해야 합니다.

시스템: MacOS 카탈리나

정말 고마워요, EG

답변1

find . ! -name . -prune ! -newermt 00:00

오늘 아침 00:00 이전에 마지막으로 수정된 파일(디렉터리 포함 모든 유형)이 보고됩니다.

find . ! -name . -prune ! -newerBt 00:00

보고 문서태어나다오늘 아침 00:00 이전.

전자는 생성 시간의 함수로서 더 관련성이 높습니다.콘텐츠파일이 생성된 시간을 나타내는 파일 이름입니다(단, 반드시 해당 이름일 필요는 없으며 파일은 처음에 빈 상태로 생성되고 내용은 나중에 추가된다는 점에 유의하세요).

이것은 FreeBSD에서 작동합니다 find. macOS 유틸리티는 종종 FreeBSD를 기반으로 하기 때문에 macOS에서도 작동해야 한다고 생각합니다.

zsh(사용 하여시간 변경):

autoload before
print -rC1 -- *(Ne[before 00:00])

기호 링크의 경우 이러한 find메서드는 기호 링크 자체의 타임스탬프를 확인하는 반면 zsh함수 before는 자신이 가리키는 파일을 확인합니다. 에서와 동일한 동작을 얻기 -L위해 옵션을 추가할 수 있습니다 .findzsh

POSIXly에서는 다음과 같이 할 수 있습니다.

touch -t "$(date +%Y%m%d0000)" ~/.today &&
  find -L . ! -name . -prune ! -newer ~/.today

답변2

매우 간단한 방법은 이 유틸리티를 사용한 find다음 필터링하려는 날짜를 검색하는 것입니다. 예를 들어 모든 파일을 검색한다고 가정해 보겠습니다.수정됨5월 24일에는 다음을 수행할 수 있습니다.

$ find . -type f -ls | grep "May 24"

전체 덤프가 아닌 파일 이름만 원할 경우 다음을 사용할 수 있습니다 xargs.

$ find . -type f -ls | grep -o "May 24.*" | awk '{print $4}' | xargs basename

run 을 사용할 때 find표시 -ls되는 시간은 파일입니다.개정하다대신 시간만들다날짜.

답변3

출력을 제한하기 위해 예를 들어 "-d '9 days ago'"를 입력했습니다. 분명히 스크립트에 넣고 진단을 지우십시오. 저는 배열을 사용하고 있으므로 ls는 한 번만 실행하면 됩니다. 이 배열은 다음 절차에도 유용할 수 있습니다.

Paul--) #.. Get a timestamp in touch format.
Paul--) Midnight="$( date -d '9 days ago' '+%Y%m%d0000.00' )"
Paul--) declare -p Midnight
declare -- Midnight="202005160000.00"
Paul--) #.. Make a reference file.
Paul--) touch -t "${Midnight}" refDate.tmp
Paul--) ls -l refDate.tmp
-rw-r--r-- 1 paul paul 0 May 16 00:00 refDate.tmp
Paul--) #.. Add olderThan Names to an array.
Paul--) for fn in *; do
    [[ -f "${fn}" && "${fn}" -ot refDate.tmp ]] &&
        Want+=( "${fn}" )
done
Paul--) echo Count ${#Want[@]}
Count 7
Paul--) #.. List the files.
Paul--) ls -ld "${Want[@]}"
-rw-r--r-- 1 paul paul    1014 May 14 18:03 Algorithm_2.txt
-rw-r--r-- 1 paul paul 1507999 May 14 23:15 Ram.1e12E
-r-------- 1 paul paul    1149 May 14 22:14 Ramanujan.array.V01
-r-------- 1 paul paul    1635 May 14 21:45 Ramanujan.sort.V01
-r-------- 1 paul paul    1773 May 14 10:38 Ramanujan.V06
-r-------- 1 paul paul    1747 May 15 19:12 Ramanujan.V07
-rw-r--r-- 1 paul paul    4183 May 14 23:44 Test.log
Paul--) #.. Tidy up.
Paul--) unset Want; rm -f refDate.tmp

관련 정보