Dock의 기본 다운로드 폴더와 동일한 순서로 파일을 표시하는 스크립트를 작성해야합니다. 에서 옵션을 찾을 수 없습니다 ls
.
다른 방법이 있습니까?
답변
더 간단한 (빠른) 솔루션 :
mdls -name kMDItemFSName -name kMDItemDateAdded -raw * | \
xargs -0 -I {} echo {} | \
sed 'N;s/\n/ /' | \
sort
답변
추가 된 날짜는 메타 데이터 항목으로 저장 kMDItemDateAdded
하고 mdls
명령은 인수로 전달 각 파일에 대한 데이터를 노출합니다.
따라서 셸에서 임의의 순서로 *를 확장하여 다운로드의 모든 파일에 추가 된 날짜를 덤프하려면 다음을 수행 할 수 있습니다.
mdls -name kMDItemDateAdded ~ / 다운로드 / *
find와 sed / awk / perl / 대체의 조합을 함께 해킹해야 ls
하지만 ls
출력 을 재발 명 하고 파싱 하지 않고 스크립트로 mdfind를 호출 할 수 있습니다 .
답변
글쎄, 평소와 같이 질문을 작성한 후 파일의 메타 데이터 내용을 파기 시작하여 다음과 같이 작성했습니다.
ls -a | \
grep -v '^\.$\|^\.\.$' | \
xargs -I {} mdls -name kMDItemFSName -name kMDItemDateAdded {} | \
sed 'N;s/\n//' | grep -v '(null)' | \
awk '{print $3 " " $4 " " substr($0,index($0,$7))}' | \
sort -r
기본적으로 : 1. 모든 파일을 나열합니다. 2. 필터링합니다. .. 3. 이름과 날짜를 한 줄씩 추가합니다. 4. 두 줄을 모두 한 줄로 병합합니다. 5. 날짜, 시간 및 이름을 추출합니다. 날짜 시간)
그것이 다른 누군가를 돕기를 바랍니다! 🙂
@ bmike 실제로, 사이트는 저의 명성 부족으로 인해 내 질문을 게시 한 8 시간 후에 만 내 자신의 질문에 대답하는 제한을 부과했습니다 : D
답변
남자 ls
-U Use time of file creation, instead of last modification for sorting (-t) or long output (-l).