So fügen Sie in regelmäßigen (alle 13.) Abständen einen neuen Zeilentrenner in eine Textdatei ein, die keinen neuen Zeilentrenner hat

So fügen Sie in regelmäßigen (alle 13.) Abständen einen neuen Zeilentrenner in eine Textdatei ein, die keinen neuen Zeilentrenner hat

Ich habe eine TXT-Datei mit einigen Rohdaten. Ich muss sie in Excel konvertieren, aber meine Versuche sind erfolglos. Die Datei hat Hunderte Male Trennzeichen, was mir bei der Konvertierung in Excel hilft, aber alle Daten sind einzeilig. Meine Daten haben keinen Marker/Trennzeichen für eine neue Zeile. Ich weiß, dass die Daten 12 Spalten haben. Beim 13. Trennzeichen sollte also eine neue Zeile erscheinen und die Daten können in eine neue Zeile verschoben werden.

Ich habe viele Websites für das gleiche gelesen, aber nirgends die gleiche Situation gefunden. Hier auf dieser Website habe ichfand wenig Ähnlichkeit, aber der Benutzer hat nicht Trennzeichenin den Daten. Für mich also nicht nützlich. Was kann ich tun?

Antwort1

Ich würde Notepad++ verwenden, um jedes 13. Trennzeichen durch ein Newline-Symbol zu ersetzen.

Nehmen wir an, Ihr Trennzeichen ist @.

  1. Öffnen Sie Ihre TXT-Datei mit Notepad++
  2. Suchen->Ersetzen...
  3. Finde was: ((?:.*?\@){12}.*?)\@
    Ersetzen mit: $1\n
    ÜberprüfenUmwickeln
    Suchmodus=Regulären Ausdruck
    Alles ersetzen

Hinweis: Wenn Ihr Trennzeichen nicht ist @, ersetzen Sie im Muster in Schritt 3 @durch Ihr Trennzeichen.

Antwort2

Ähnlich (ZygD: danke für die RE!), aber in Perl statt in NotePad++

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

wobei „iFile“ Ihre Eingabedatei ist

  rfile is results

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

  This matches the requested 13 (12+1) 
      

Wird jemand PowerShell ausprobieren?

verwandte Informationen