Archiv verlassen und diese Seite im Standarddesign anzeigen : [BASH] Zeilenumbrüche aus Datei entfernen
Moin,
ich würde gern den Inhalt einer gesamten Datei auf einmal mit `sed` bearbeiten. Dazu müsste ich allerdings die Zeilenumbrüche entfernen (respektive durch ein anderes Trennzeichen ersetzen, da ich es ja später rückgängig machen will), da sed ja immer nur eine Zeile auf einmal bearbeitet.
Gibt's da eine Möglichkeit (und bitte nicht mit Perl *g), und wenn ja, wie?
Der Untergeher
19.01.05, 04:32
man tr
... aber das ist keine schöne Lösung ... Was willst du denn mit sed machen? Das geht bestimmt auch ohne "hinundherersetzen".
Grüße
Untergeher
Ack! Oder einfach in vim:
:%s/\n/\ /
MfG, sins
EDIT: Hab Mist geschrieben! Kommt davon, wenn man mit der ersten Antwort anfängt zu lesen und die Frage nur kurz überfliegt :ugly:
sorry, MfG, sins
']ich würde gern den Inhalt einer gesamten Datei auf einmal mit `sed` bearbeiten. Dazu müsste ich allerdings die Zeilenumbrüche entfernen (respektive durch ein anderes Trennzeichen ersetzen, da ich es ja später rückgängig machen will), da sed ja immer nur eine Zeile auf einmal bearbeitet.
Du hast ziemlich ungenau beschrieben, was Du machen willst, aber vielleicht helfen Dir ja die Multiline- (N,D,P) oder Holdspace-Kommandos (H,h,G,g,x) von sed weiter ...
wo ist der unterschied als wenn du die datei normal durch sed schiebst?
wo ist der unterschied als wenn du die datei normal durch sed schiebst?
Ganz einfach: Du kannst alle Zeile einer Datei in den Pattern-Space einlesen und Du kannst auf \n im Pattern-Space matches definieren.
Danke, tr ist schon das, was ich ungefähr suchte. :)
Es ging mir um einen möglichst einfachen Weg, C-Kommentare aus einer Datei zu entfernen. Da die ja auch mehrzeilig sein können, ist das nicht so ganz trivial... es sei denn, man kann die Zeilenumbrüche halt vorher ersetzen und hinterher wieder einfügen.
Fertig schaut das nun so aus:
cat whatever.c | tr "\n \r" "$ §" | sed "s/\/\*.*\*\///g" | tr "$ §" "\n \r"
Wie wär's für dieses Vorhaben mit
gcc -e
Verwendet den C-Preprozessor, welcher unter anderem für sowas geschrieben wurde.
Powered by vBulletin® Version 4.2.5 Copyright ©2024 Adduco Digital e.K. und vBulletin Solutions, Inc. Alle Rechte vorbehalten.