Wie fügen Sie ein Komma, um das Letzte Zeichen einer Zeile in einer Textdatei
Ich habe einen sehr langen text Datei voller E-Mail-Adressen aus einer export-newsletter-db. Importieren Sie Sie in ein anderes system brauche ich, um diese Adressen durch ein Komma getrennt.
Ich versuche zu tun, ein suchen/ersetzen mit regex. So weit ich finden kann, das Letzte Zeichen jeder Zeile mit :
[^\n]$
Also das ist meine "Suche" - Feld. Aber ich weiß nicht, mit welchen "Ersetzen". Ich bin sehr neu in regex, gibt es eine wildcard, die es erlauben würde, etwas zu tun :
[any characted found],
kurze Antwort: ja, was Sie wollen, kann definitiv getan werden. Aber zuerst, bitte gib ein paar mehr Infos: welches Programm verwenden Sie, um die Suche und ersetzen? Verschiedene regex-Aromen haben leicht unterschiedliche syntax (oder manchmal nicht so subtil). Siehe regular-expressions.info für viele Infos. Und was ist das genaue format der Datei, wird es eine email-Adresse pro Zeile, oder gibt es eine andere Trennzeichen zwischen den Adressen?
Ich benutze Geany auf Linux (ubuntu), und die Datei ist eine text Datei, jede E-Mail-Adresse in einer Zeile, keine Leerzeichen ein Ende, nur die Trennzeichen ist ein Zeilenumbruch.
Ich benutze Geany auf Linux (ubuntu), und die Datei ist eine text Datei, jede E-Mail-Adresse in einer Zeile, keine Leerzeichen ein Ende, nur die Trennzeichen ist ein Zeilenumbruch.
InformationsquelleAutor mike23 | 2011-05-20
Du musst angemeldet sein, um einen Kommentar abzugeben.
Suchen Sie nach
([^\n])$
und ersetzen Sie es durch\1,
– abhängig von der RegEx-engine.Sie sind herzlich willkommen! Der trick war, dass
()
erstellt eine Gruppe von Zeichen, die können später verwendet werden, wenn "ersetzt durch den Verweis auf" jede Gruppe, die durch seinen Platz in der regex, also \1 ist die erste erfasste Gruppe, \2 die zweite und so weiter.InformationsquelleAutor Flygenring
Blick in sed...
InformationsquelleAutor
InformationsquelleAutor tchrist