Entfernen von '#'-Zeilen
Hallo Listener! Vor l�ngerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-) Kann mir bitte Jemand krzfristig aus der Patsche helfen? Danke! Peter.
Hallo Peter, * Peter schrieb am 22.07.2003:
Hallo Listener!
Vor l?ngerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-) Kann mir bitte Jemand krzfristig aus der Patsche helfen?
sed 's/^#//' <dateiname> Grüße, Tom
* Thomas Preissler schrieb am 23.Jul.2003:
Hallo Peter,
* Peter schrieb am 22.07.2003:
Hallo Listener!
Vor l?ngerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-) Kann mir bitte Jemand krzfristig aus der Patsche helfen?
sed 's/^#//' <dateiname>
Damit entfernst Du aber nur das # Zeichen. Es soll aber die ganze Zeile entfernt werden, daher sed 's/^#.*//' dateiname > neue-datei Bernd -- ACK = ACKnowledge = Zustimmung | NAC = No ACknowledge = keine Zustimmung DAU = Dümmster Anzunehmender User | LOL = Laughing Out Loud = Lautes Lachen IIRC = If I Remember Correctly = Falls ich mich richtig erinnere OT = Off Topic = Am Thema (der Liste) vorbei |Zufallssignatur 11
Hallo und Danke an Alle für die soooo unterschiedlichen Antworten! WErde dann gleich mal probieren! Peter.
Hallo, On Tue, 22 Jul 2003, Peter Zabelt schrieb:
Vor l?ngerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-)
,----[ ~/bin/delcomments ] | #!/usr/bin/sed -f | /^[[:space:]]*#/d | /^[[:space:]]*$/d `---- -dnh -- "Remember, not all spammers are annoying..... Some are dead!" -- Rob Adams
"Peter Zabelt" wrote:
Vor längerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-) Kann mir bitte Jemand krzfristig aus der Patsche helfen?
sed und awk gehen natürlich, aber hier reicht auch schon grep: grep -v '^#' dateiname (-v = Gib alle Zeilen aus, auf die der reguläre Ausdruck *nicht* passt.) Man kann natürlich umgekehrt auch alle Zeilen herausfiltern, die mit einem anderen Zeichen als # anfangen: grep '^[^#]' dateiname Das lässt dann gleich noch ganz leere Zeilen weg (denn ein Zeichen muss ja mindestens da sein). Wenn man bei der Aktion auch noch führende Leerzeichen ignorieren will, muss man das noch etwas ergänzen, z.B.: egrep -v '^( *#| *$)' dateiname Na ja, und Tabulatorzeichen könnte man auch noch berücksichtigen... Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
Eilert Brinkmann wrote:
"Peter Zabelt" wrote:
Vor längerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-) Kann mir bitte Jemand krzfristig aus der Patsche helfen?
sed und awk gehen natürlich, aber hier reicht auch schon grep:
grep -v '^#' dateiname
[und andere Varianten]
Nachtrag: Wie wörtlich war das Entfernen zu nehmen? Wenn die Datei nicht nur ohne die Kommentarzeilen ausgegeben werden sondern gleich an Ort und Stelle durch die kommentarlose Fassung ersetzt werden soll, bietet sich perl an: perl -i -ne 'print unless /^#/' dateiname Wichtig: Die Optionen -i -ne zu -ine zu verkürzen wäre in diesem Fall falsch! Zur Erläuterung der Optionen siehe `man perlrun`. Natürlich kann man perl auch für die reine Ausgabe ohne Ändern der ursprünglichen Datei verwenden, aber da ist der Griff zu perl bei dieser Aufgabe eigentlich etwas übertrieben ;-) Eilert -- ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Eilert Brinkmann -- Universitaet Bremen -- FB 3, Informatik eilert@informatik.uni-bremen.de - eilert@tzi.org http://www.informatik.uni-bremen.de/~eilert/
On Tue, Jul 22, 2003 at 10:25:43PM +0000, Peter Zabelt wrote:
Vor l?ngerer Zeit hatte ich mir mal einen Einzeiler 'zusammengeklaut', der aus (Konfigurations-) Dateien die Kommentar - (#-) Zeilen entfernte. Leider habe ich das nicht mehr und bin auch in sed und awk nicht so gut drauf ... :-)
grep -v "^#" datei Kristian
participants (6)
-
B.Brodesser@t-online.de
-
David Haller
-
Eilert Brinkmann
-
Kristian Koehntopp
-
Peter Zabelt
-
Thomas Preissler