토요일에 생성/수정된 파일을 목록에서 제거하세요.

토요일에 생성/수정된 파일을 목록에서 제거하세요.

그것이 가능한지 잘 모르겠습니다.

ls -l을 수행하면 현재 디렉토리의 모든 파일이 제공됩니다. 쉘 명령을 사용하여 토요일에 생성/수정되지 않은 파일만 나열하는 방법이 있습니까?

답변1

이를 수행하는 방법:

$ LANG=C find . -maxdepth 1 -printf '%p %AA\n' |
    awk '$NF=="Saturday"{next}{$NF=""}1'

나는 우리가 파일을 인쇄하지 않는다고 가정합니다모두토요일. 이것은 당신이 기대하는 것입니다.

답변2

더 간단함:

find . -maxdepth 1 -printf '%Ta\t%p\n' | grep -v -i '^sat'

참조:이것답변.

답변3

필요한 시간을 선택해야 합니다.

  • %y가감
  • %w창조
  • %z변화

또는 임의의 조합:

stat * --printf="%n\t%y %z\n" | grep -vF $(date -d "last Saturday" +%F) | cut -f1

또한 필요한 정보를 선택하고 --printf=라인을 작성하세요.

find아니면 그냥 명령을 사용할 수도 있습니다

find -maxdepth 1 -type f -daystart \
     ! -mtime $[$(date +%d)-$(date -d "last Saturday" +%d)]

관련 정보