수천 장의 이미지가 들어 있는 폴더가 있습니다. 그 수천 개의 이미지 중에서 "최종 생성" 및 "최종 수정" 속성이 정확히 동일한 모든 이미지를 모으고 싶습니다. (즉, 이름을 바꾸지 않은 모든 이미지를 분리하고 싶습니다.)
터미널에서 이 작업을 수행할 수 있는 방법이 있습니까?
이것들은 제가 연결하고 싶은 두 명령입니다 ls -tU파일을 생성 날짜별로 나열합니다. (저는 맥을 사용하고 있습니다) ls -lt수정된 날짜별로 파일을 나열합니다.
내가 그러고 싶을 정도로 "생성 날짜 = 수정 날짜인 파일 목록"
답변1
가장 쉬운 방법은 아마도 mdls
명령을 사용하는 것입니다. mdls
지정된 파일의 메타데이터 속성을 나열합니다. 다음은 내 데스크탑에 있는 .png 파일의 샘플 출력입니다.
$ mdls ~/Desktop/hipchat.png
_kMDItemOwnerUserID = 205009058
_kTimeMachineIsCreationMarker = 1
_kTimeMachineNewestSnapshot = 4001-01-01 00:00:00 +0000
_kTimeMachineOldestSnapshot = 2016-06-10 19:25:01 +0000
kMDItemBitsPerSample = 32
kMDItemColorSpace = "RGB"
kMDItemContentCreationDate = 2016-06-10 19:37:53 +0000
kMDItemContentModificationDate = 2016-06-10 19:37:53 +0000
kMDItemContentType = "public.png"
kMDItemContentTypeTree = (
"public.png",
"public.image",
"public.data",
"public.item",
"public.content"
)
kMDItemDateAdded = 2016-06-10 19:45:06 +0000
kMDItemDisplayName = "hipchat.png"
kMDItemFSContentChangeDate = 2016-06-10 19:37:53 +0000
kMDItemFSCreationDate = 2016-06-10 19:37:53 +0000
kMDItemFSCreatorCode = ""
kMDItemFSFinderFlags = 0
kMDItemFSHasCustomIcon = (null)
kMDItemFSInvisible = 0
kMDItemFSIsExtensionHidden = 0
kMDItemFSIsStationery = (null)
kMDItemFSLabel = 0
kMDItemFSName = "hipchat.png"
kMDItemFSNodeCount = (null)
kMDItemFSOwnerGroupID = 80
kMDItemFSOwnerUserID = 205009058
kMDItemFSSize = 22994
kMDItemFSTypeCode = ""
kMDItemHasAlphaChannel = 0
kMDItemKind = "Portable Network Graphics image"
kMDItemLogicalSize = 22994
kMDItemOrientation = 0
kMDItemPhysicalSize = 24576
kMDItemPixelCount = 74520
kMDItemPixelHeight = 81
kMDItemPixelWidth = 920
kMDItemResolutionHeightDPI = 0
kMDItemResolutionWidthDPI = 0
그런 다음 원하는 정보를 추출할 수 있습니다.
$ mdls ~/Desktop/hipchat.png |grep -e kMDItemContentCreationDate |awk '{print "Created on "$3" at "$4}'
Created on 2016-06-10 at 19:37:53
$ mdls ~/Desktop/hipchat\ poll.png |grep -e kMDItemContentModificationDate |awk '{print "Modified on "$3" at "$4}'
Modified on 2016-06-10 at 19:37:53