최신 파일을 찾아보세요. 여러 파일 형식 제한

최신 파일을 찾아보세요. 여러 파일 형식 제한

나에게 주는 명령을 쓰고 싶다최신 문서디렉토리에재귀적으로. 그러나 그것이 나의 유일한 한계는 아닙니다. 이러한 파일은 다음과 같아야 합니다.mp3 또는 jpg문서. (대소문자를 구분하지 않음선호) 최신 파일의 생성 날짜만 필요합니다. 가능하다면 30-12-2014 형식으로 하고 싶습니다(따라서:일 월 년)

이것이 내가 현재 가지고 있는 것입니다:

find .  -name '*.mp3' -or -name '*.JPG'   -printf "%TD \n" | sort -rn | head -n 1

하지만 효과는 좋지 않습니다. JPG만 가져오고 날짜 형식은 지정되지 않습니다.

답변1

다음과 같이 작동해야 합니다.

find . \( -iname "*.mp3" -o -iname "*.jpg" \) -printf '%TY%Tm%Td %TT %p\n' | sort -r

이는 mp3 또는 jpg로 끝나는 파일(대소문자를 구분하지 않음)을 찾아서 수정 시간을 인쇄한 다음 역순으로 정렬해야 합니다.

두 개의 명령으로 효과적으로 실행하면 두 가지 파일 형식이 표시되는 것으로 보입니다.

( find . -iname "*.mp3" -printf '%TY%Tm%Td %TT %p\n' ; find . -iname "*.jpg" -printf '%TY%Tm%Td %TT %p\n' ) | sort -r

답변2

그리고 zsh:

setopt extendedglob
zmodload zsh/stat
zstat -F %F +mtime -- **/(#i)*.(mp3|jpg)(Om[1])

기준으로 작성되었으니 참고해주세요마지막 검토시간,생성 시간(그게 무엇을 의미하든) 일반적으로 Linux에서는 사용하기 쉽지 않습니다.

숨겨진 파일은 고려하지 않습니다. 원하는 경우 D위에 와일드카드 한정자를 추가하세요.

답변3

다음도 참조하세요.

find . -type f -mtime -1 \( -name '*.mp3' -o -name '*.jpg' \) -printf '%AY-%Am-%Ad %P \n'

답변4

다른 사람들이 수정한 것처럼 -or를 -o로 지정해야 합니다. 내 생각에는 괄호도 필요하다고 생각합니다(원본 게시물 수정). %T@형식 지정자(1970년 이후 초)를 사용 하면 정렬이 더 깔끔해지며 다음을 사용하여 변환할 수 있습니다.

date --date="@`find . \\( -iname "*.mp3" -o -iname "*.jpg" \\) -printf '%T@\n' | sort -rn | head -n1`" 

무슨 상관이야. 원하는 날짜 형식을 사용할 수도 있습니다 +.

관련 정보