Me dijeron que esta es la solución:
find . -type f -printf "%[email protected] %p\n" | sort -rn | head -n 10
El punto clave es el printf %[email protected]
marcador de posición, que es el -ctime
una. Lo encontré leyendo man find
.
Resultado:
1336992789.0000000000 ./Mobilni Telefoni/05. iPhone/03. iPhone 4G Firmware/5.1.1/iPhone3,1_5.1.1_9B206_Restore.ipsw.filepart
1336928538.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/test.txt
1336922295.0000000000 ./GPS Navigacije/01. Garmin/03. Garmin Other/garmin_kgen_15.exe
1336868365.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2152/E2152_XXJH4_OXFJI2.zip.filepart
1336867426.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E210/E210_XFGH2.rar
1336866301.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/FlashTool_E2_R6.zip
1336865921.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2330/E2330_OXFKE2.rar
1336865409.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_CDS.zip
1336865398.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_XXKC1_BIN.zip
1336864949.0000000000 ./Mobilni Telefoni/11. Samsung/1. FLASH FILES/1. SRPSKI HRVATSKI JEZICI/E/E2230/E2230_OXFKC1_CSC.zip
Para una lista muy grande de archivos, sort(1)
con tuberías podría no ser óptimo para el uso de recursos.
sort(1)
podría ser reemplazado por perl(1)
y búfer las diez entradas más altas, solamente. Esto se ha descrito en comando de Unix:cómo obtener los n registros principales para tres, aquí una adopción para diez discos.
Reemplaza el sort(1)
y head(1)
filtros:
find . -type f -printf "%[email protected] %p\n" | perl -ane '
BEGIN {@top = ([-1]) x 10}
if ($F[0] > $top[0][0]) {
@top = sort {$a->[0] <=> $b->[0]} @top[1..9], [$F[0], $_];
}
END {print for reverse map {$_->[1]} @top}
'
El resultado es idéntico.