Cómo insertar un nuevo separador de línea en intervalos regulares (cada 13) de delimitador en un archivo de texto que no tiene un nuevo separador de línea

Cómo insertar un nuevo separador de línea en intervalos regulares (cada 13) de delimitador en un archivo de texto que no tiene un nuevo separador de línea

Tengo un archivo TXT que tiene algunos datos sin procesar. Necesito convertirlos a Excel, pero mis intentos no tienen éxito. El archivo tiene cientos de veces el delimitador (separador) y eso me ayuda a convertir a Excel, pero todos los datos vienen en una sola fila. Mis datos no tienen ningún marcador/separador para nueva línea. Sé que los datos tienen 12 columnas. Entonces, en el delimitador 13 debería tener una nueva línea y los datos pueden ir a una nueva fila.

He leído muchos sitios web sobre lo mismo, pero en ninguno encontré la misma situación. Aquí en este sitio web tengoencontré poca similitud pero el usuario no tiene delimitadoren los datos. Así que no me resulta útil. ¿Qué puedo hacer?

Respuesta1

Usaría Notepad++ para reemplazar cada decimotercer símbolo separador con una nueva línea.

Digamos que su separador es @.

  1. Abra su archivo .txt con Notepad++
  2. Buscar->Reemplazar...
  3. Encontrar que: ((?:.*?\@){12}.*?)\@
    Reemplazar con: $1\n
    ControlarEnvolver alrededor
    Modo de búsqueda=Expresión regular
    Reemplaza todo

Nota: Si su separador no es @, en el patrón del paso 3 reemplácelo @con su separador.

Respuesta2

Similar (ZygD: ¡gracias por el RE!) pero en perl en lugar de NotePad++

<ifile perl -ne " s/((?:.?@){12}.?)@/$1\n/g ; imprimir; " >archivo

donde ifile es su archivo de entrada

  rfile is results

  the "@" is your separator - change to fit your case

  This matches the requested 13 (12+1) 
      

¿Alguien probará PowerShell?

información relacionada