나에게 주는 명령을 쓰고 싶다최신 문서디렉토리에재귀적으로. 그러나 그것이 나의 유일한 한계는 아닙니다. 이러한 파일은 다음과 같아야 합니다.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`"
무슨 상관이야. 원하는 날짜 형식을 사용할 수도 있습니다 +
.