Condense la salida stdout repetitiva en una línea


1

Tengo una herramienta que se llama desde un archivo por lotes que imprime muchas líneas de salida repetitiva, como

1 fila creada.

1 fila creada.

1 fila creada.

1 fila eliminada.

1 fila eliminada.

El formato es desconocido, la fila se omitirá.

1 fila creada.

1 fila creada.

1 archivo creado.

1 archivo creado.

1 archivo creado.

1 archivo eliminado.

1 archivo eliminado.

La herramienta ha terminado con éxito.

y así sucesivamente, excepto que puede haber literalmente miles de líneas idénticas. De esta manera, la salida en la ventana del terminal es bastante inútil. Por supuesto, podría redirigirlo y escribirlo todo en un archivo y luego continuar con eso, pero me gustaría poder ver de un vistazo lo que sucedió y está sucediendo. ¿Hay una manera de manipular la secuencia en el archivo por lotes que está llamando a esta herramienta para que la salida se vea como

(3x) 1 fila creada.

(2x) 1 fila eliminada.

(1x) El formato es desconocido, la fila se omitirá.

(2x) 1 fila creada.

(3x) 1 archivo creado.

(2x) 1 archivo eliminado.

(1x) La herramienta ha finalizado correctamente.

Preferiblemente, el contador en la última línea actual se actualizaría en su lugar (reemplazando el valor anterior) y aumentaría cada vez que se repita una línea de salida, por lo que también se sentiría el progreso realizado hasta el momento.

Editar: Algunas investigaciones arrojaron algunas partes que parecen útiles para esta tarea:

  1. Esta respuesta muestra cómo leer desde stdin
  2. Aquí se muestra cómo reemplazar la línea actual en la Terminal, para que podamos aumentar el contador
  3. Artículo sobre el uso de funciones en lote. , lo que parece una buena manera de mantener la parte de edición de secuencias separada de las otras partes del archivo.
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.