Eliminar diferentes versiones de un archivo
Hola, muy buenas.
No sé muy bien donde postear esto, lo mismo puede encajar aquí ya que podría usarse algún programa de proceso por lotes...
Verán, tengo una carpeta con una gran cantidad de archivos
Algunos de ellos estan duplicados (mas o menos), la única diferencia está en el número de versión la cual viene indicada en el nombre. Por ejemplo:
Documento 1 (v1.2).txt
Documento 1 (v1.3).txt
Documento 1 (v2.2).txt
Documento 2 (v1.1).txt
Documento 2 (v1.2).txt
Documento 2 (v2.5).txt
etc.
Algunos de esos archivos tienen una sola versión y otros tienen varias y no tengo forma de separar los unos de los otros ya que los nombres son completamente diferentes entre si y solo se repiten aquellos que tienen diferentes versiones.
Lo que quiero es borrrar solamente aquellos archivos que tengan varias versiones conservando la más reciente, evidentemente si el archivo solo tienen una versión no debe ser borrado.
¿Cómo puedo hacer esto?
A mano sería un trabajo de chinos ya que son entorno a 2.300 ficheros.
¿Alguna idea?
- Inicie sesión o regístrese para enviar comentarios
- 409 lecturas


Me gustaría ver nombres reales de los archivos:
$ ls -lh | head -20 ; ls -lh | tail -20Te paso el volcado del comando que me detallas:
Aunque el listado es mucho mayor, si quieres te lo paso al completo por si le ves un patrón, mis conocimientos sobre terminal no dan para tanto.
Faltó la primer parte del comando:
$ ls -lh | head -20 ; ls -lh | tail -20
Precisamente ando buscando algún patrón, para ver si se me ocurre una forma.
AGREGO: fíjate cómo mejoré la presentación de tu comentario anterior usando etiquetas de código PRE y CODE, para que no se encimen las líneas, y asimismo lo hagas.
Vaya! No conocía lo del "pre".
Pues pasé el volcado, lo mismo hice algo mál, lo repito...
El comando:
ls -lh | head -20 ; ls -lh | tail -20Me muestra esto: