Hallo Leute,
ich bräuchte euere hilfe.
ich habe eine Textdatei mit folgendem inhalt:
ich möchte das alle Zeilen die einen ";" am Ende haben keinen Zeilenumbruch haben. An sich eine einfache Aufgabe für sed:
(ja es sind Windows Zeilenunbrüche ... -.-. Allerdings aussschließlich, also kein Mischmasch - mal so mal so - sondern immer. )
Da reguläre ausdrücke nerfig zu lesen sind hier eine Kurzerklärung:
egal wieviel Whitespaces (Tab, Leerzeichen etc) gefolgt von einem ";" gefolgt von egal wieviel whitespaces, gefolgt von einem Zeilenumbruch (Windows)
ersetzen mit ==> nichts
Funktioniert leider nicht ganz. Die regular expression trifft zwar, aber er ersetzt jedes einzelne "Element" darin.
Für ich beispielsweise eine ersetzung anstelle von nichts mit "test" aus sieht der Output so aus:
er trifft aber er ersetzt vollkommen Falsch. Mal abgesehen davon das die Zeilenumbrüche immernoch vorhanden sind.
Gleiches Spiel mit awk:
Er trifft, ersetzt auch soweit richtig (sprich die ganzen whitespaces und ";" fallen weg), aber der Zeilenumbruch bleibt.....
Wo genau liegt der Wurm?
ich bräuchte euere hilfe.
ich habe eine Textdatei mit folgendem inhalt:
Code:
text bla bla bla text bla bla ;
text lblublblblblubbb "" '' abcdef09871 ;
text blubbl {
}
ich möchte das alle Zeilen die einen ";" am Ende haben keinen Zeilenumbruch haben. An sich eine einfache Aufgabe für sed:
Code:
sed -r -e 's/\s*;\s*\r//g' Inputfile > Outputfile
Da reguläre ausdrücke nerfig zu lesen sind hier eine Kurzerklärung:
egal wieviel Whitespaces (Tab, Leerzeichen etc) gefolgt von einem ";" gefolgt von egal wieviel whitespaces, gefolgt von einem Zeilenumbruch (Windows)
ersetzen mit ==> nichts
Funktioniert leider nicht ganz. Die regular expression trifft zwar, aber er ersetzt jedes einzelne "Element" darin.
Für ich beispielsweise eine ersetzung anstelle von nichts mit "test" aus sieht der Output so aus:
Code:
text bla bla bla text bla bla testtesttest
text lblublblblblubbb "" '' abcdef09871testtest
text blubbl {
}
Gleiches Spiel mit awk:
Code:
awk '{ sub(/\s*;\s*\r$/,""); print $0 }' Inputfile > Outputfile
Wo genau liegt der Wurm?