Respecto a los archivos resultaron en la igualación de las propiedades del archivo en el comando "ls"

0

Tengo una carpeta en la que hay miles de imágenes. De esas mil imágenes, quiero reunir todas aquellas imágenes cuyas propiedades "Última creación" y "Última modificación" son exactamente iguales. (En otras palabras, quiero separar todas las imágenes que nunca cambié de nombre, por ejemplo)

¿Hay alguna manera de hacer esto desde la terminal?

Estos son los dos comandos que quiero concatenar. ls -tU listas de archivos por fecha de creación. (Estoy en un mac) ls -lt listas de archivos por fecha de modificación

tal que quiero "Lista de archivos cuya fecha de creación = fecha de modificación"

user607694
fuente
Es el U / tU opción una nueva? Aqui no ss64.com/osx/ls.html (No soy o'sex).
user367890
No parece que OSX encuentre nativo tiene un printf opción. Si es adecuado tal vez alguna versión extendida tenga. Entonces, algo como (aquí, GNU find (linux) que compara el acceso y el tiempo de modificación) find . -name '*.jpg' -printf '%A+\0%T+\0%f\n' | awk -F '\0' '$1 == $2 {print $3}' - Linux no tiene un creation sello de tiempo.
user367890
OXyS tiene GetFileInfo ( ss64.com/osx/getfileinfo.html ), pero no tengo ninguna casilla o prueba activada, por lo que no sé si enumera ambos al usar GetFileInfo -d -m
user367890
Si nada de lo anterior funciona, es posible que tenga que recurrir a secuencias de comandos en, por ejemplo, Python donde tanto la creación como el tiempo de acceso son accesibles. Claro que hay herramientas que lo pueden hacer, pero como soy, (no estoy seguro de si lo he mencionado antes; en un MaC), es un poco incómodo probar más.
user367890

Respuestas:

0

La forma más fácil es probablemente usar el mdls mando. mdls enumera los atributos de metadatos para un archivo especificado. Aquí hay una salida de muestra para un archivo .png que tengo en mi escritorio

$  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

A continuación, puede extraer la información que busca como tal.

$  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
SaxDaddy
fuente