¿Cómo puedo usar lsen Linux para obtener una lista de nombres de archivos de fecha y tamaño solamente? No necesito ver la otra información, como el propietario o el permiso. es posible?
linux
command-line
files
ls
Dedo meñique
fuente
fuente

lses genial porque tiene una clasificación muy rápida por fecha y hora, pero el formato es difícil de manejar. Sugiero usar un token en --time-style, como--time-style='+&%Y%m%d+%H%M%S.%N'donde el token es '&', y usarlo como referencia puede analizar aún más la salidasedpara que también pueda retroceder, ¡justo antes de que el token tenga el tamaño! Si alguien quiere publicar eso como una respuesta completa, siéntase libre de hacerlo, estoy demasiado dormido en este momento :)Respuestas:
¿Por qué no usar en
statlugar dels?fuente
find . -type f -print0 | xargs -0 stat -c "%y %s %n"stat, puede agregar información de ancho a la cadena de formato como la función C printf, por ejemplo"%y %8s %n", no está documentada, pero parece funcionar (coreutils 8.17, Fedora 18)lspuedo emitirlo con un mil separador de caracteres. ¿Cómo funcionastat?ls. ¿Qué pasa con los colores?Puede obtener mucho control sobre cómo enumera los archivos con la
findutilidad.lsrealmente no te permite especificar las columnas que deseas.Por ejemplo:
El argumento de la
printfacción se detalla en la página de manual. Puede elegir información de tiempo diferente, qué tamaño desea (tamaño de archivo o bloques de disco utilizados), etc. También puede hacer esto seguro para nombres de archivo inusuales si se necesita un procesamiento adicional.fuente
%C+(salida "2016-08-29 + 10: 57: 56.9201257840") y%Cc(salida "Mo 29 Aug 2016 10:57:56 CEST")Siempre puede usar otra utilidad como
awkformatear la salida dels1 :1.Sí, en general, no debe analizar la salida de ls, pero en este caso la pregunta lo requiere específicamente ...
fuente
lstiene un alias (por ejemploalias ls='ls -i'). Realmente debe tener mucho cuidado si desea analizar la salida de ls.ls, pero eso es lo que el OP quería .../bin/lsevitaría el problema del alias)lsque ambos acordamos que no va a satisfacer el requisito de espacio en blanco. La/bin/lssugerencia es buena.-hpara que sea legible para los humanos. Específicamente utilicé:ls -lah | awk '{print $5,$6,$7,$8}'que produce:4.0K Jan 24 18:17. Por supuesto, la solución original no dice nada acerca de awk, pero en Linux debemos asumir que la salida de un proceso siempre será la entrada a otro proceso, ¿verdad? ;)También puede usar el comando 'fecha'. Es muy fácil de usar:
fuente
date -r foo*.txt->date: extra operand "foo2.txt"Si desea usar ls, pero preservar el tamaño adecuado, puede usar:
fuente
donde el espacio se define como el separador y f6 significa campo 6
fuente
Puedes canalizar dos comandos
fuente
ls -s1 devuelve el tamaño y el nombre del archivo solo en AIX, no estoy seguro acerca de Linux
fuente