Esta pregunta ya tiene una respuesta aquí:
- ¿Cómo elimino todos los archivos menos 10 en Linux? 11 respuestas
Estoy tratando de eliminar algunos archivos en un directorio usando algunos comandos. Usando el bucle,
for i in $(ls -tr $path); ...
necesito saber la longitud de
$(ls -tr $path)
¿Cómo obtener el número de archivos en el directorio $ path sin usar un bucle más?
El problema es eliminar los archivos de la carpeta. La carpeta resultante no debe contener más de 10 archivos más recientes.
for i in $(ls ……)
, ¿por qué tan complicado? Solo hazlofor i in $path
. La primera variante se romperá tan pronto como los archivos tengan espacios en blanco en su nombre. A menos que, por supuesto, esté tratando de resolver un problema diferente, en cuyo caso sería preferible si preguntara sobre ese otro problema .Respuestas:
Prueba esto:
ls -l le dará una línea por archivo, wc -l cuenta el número de líneas.
fuente