perl: Zusammenführen von Zeilen, die mit Leerzeichen beginnen.

T

tom*de

Jungspund
Hallo,

Hintergrund: Das LDIF-Format trennt Zeilen, die größer als 80 Zeichen sind und schreibt in die nächste Zeile ein Leerzeichen.

Beispiel: ldif

dn: cn=user01,ou=group,o=ibm,c=de
userPassword;binary: v0YnLZe86FY6DrCbJDjtR+huOHzHSJY23dH9vehFxJjRxWgsasGhj2Ae4
GXfbQZuxkX466HIaOw
uid: user01


Solche Zeilen (userPassword) sollen mit perl zusammengeführt werden:

cat ldif | perl -pi -e 's/\x0a\x20//g' # geht nicht, da das Kommando zeilenweise arbeitet, 0A und 20 in getrennten Zeilen sind.

Was ist zu tun?


Danke Tom
 
Nochmal das Beispiel mit den zwei Zeilen, die mit Leerzeichen beginnen - hier als Unterstrich _ dargestellt. (damit ist: userPassword.. dreizeilig)

dn: cn=user01,ou=group,o=ibm,c=de
userPassword;binary: v0YnLZe86FY6DrCbJDjtR+huOHzHSJY23dH9vehFxJjRxWgsasGhj2Ae4
_GXfbQZuxkX466HIaOwaADSWEWEFRGDFGFGJDJHDJDHJFHGJHGJFGHJdsfasdAWDADS
_SADFsadf
uid: user01

Ergebnis soll sein, dass die Zeile: userPassword.. sich in einer Zeile findet und die anderen Zeilen (ohne Leerzeichen am Zeilenanfang, unverändert bleiben):

dn: cn=user01,ou=group,o=ibm,c=de
userPassword;binary: v0YnLZe86FY6DrCbJDjtR+huOHzHSJY23dH9vehFxJjRxWgsasGhj2Ae4 GXfbQZuxkX466HIaOwaADSWEWEFRGDFGFGJDJHDJDHJFHGJHGJFGHJdsfasdAWDADSSADFsadf

uid: user01

 
Zuletzt bearbeitet:
Zurück
Oben