Navare Geschrieben 14. Juli 2008 Teilen Geschrieben 14. Juli 2008 Hiho Mein erster Post und schon gleich eine Frage...ich hoffe ich werd deshalb nicht erschlagen ;D Ich fummmel mir gerade mein erstes Bashscript zurecht und wollte einige Zeilenumbrüche mit "sed" aus einer Logdatei rausfiltern. Die sieht ungefähr so aus: Datum: 07/14/08 Inspizierte Dateien: 41,554 backed up 25 updated: 0 rebound: 0 deleted: 0 expired: 0 Failed: 0 transferred: 7.82 damit mache ich dann: sed -e 'N;s/\n/ /g' /var/log/ausgabeLOG > ergebnis1elf Das Ergebnis sieht aber leider nicht so aus wie ich es gerne hätte: Datum: 07/14/08 Inspizierte Dateien: 41,554 backed up 25 updated: 0 rebound: 0 deleted: 0 expired: 0 Failed: 0 transferred: 7.82 Er entfernt also nicht alle Zeilenumbrüche. Gibts eine Möglichkeit alle auf einen Schlag zu entfernen, oder muss ich den Befehl wirklich mehrmals ausführen ? Wenn ich noch 2 mal das selbe mache habe ich mein gewünschtes Ergebnis, aber das muss auch eleganter und einfacher gehen... Ich bin nicht ganz sicher wie sed damit umgeht und habe auf die schnelle auch keine Lösung "ergoogln" können *flöt* Danke im Vorraus Nava Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 14. Juli 2008 Teilen Geschrieben 14. Juli 2008 Hi, muss es sed sein oder geht auch ... tr '\012' ' ' < /var/log/ausgabeLOG > ergebnis1elf ? ciao, vic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
geloescht_JesterDay Geschrieben 14. Juli 2008 Teilen Geschrieben 14. Juli 2008 Ich bin nicht ganz sicher wie sed damit umgeht und habe auf die schnelle auch keine Lösung "ergoogln" können *flöt* Das sieht ganz danach aus, als wenn sed das zeilenweise macht. Aber nachdem ein Zeilenumbruch entfernt wurde, rückter der nächste ja eine Zeile höher (in die Zeile die gerade bearbeitet wurde), wird also ausgelassen. Lösung hab ich jetzt auf die Schnelle auch keine, du solltest das halt von hinten machen. Oder die Datei Zeilenweise einlesen und dann zu sed pipen jede Zeile. Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
bigvic Geschrieben 14. Juli 2008 Teilen Geschrieben 14. Juli 2008 Hi, beim sed muss man mit einer loop arbeiten, sowas wie ... sed -e ':loop N s/\n/ /g bloop ' ... aber dafür würde ich persönlich nicht sed nehmen. ciao, vic Zitieren Link zu diesem Kommentar Auf anderen Seiten teilen Mehr Optionen zum Teilen...
Empfohlene Beiträge
Dein Kommentar
Du kannst jetzt schreiben und Dich später registrieren. Wenn Du ein Konto hast, melde Dich jetzt an, um unter Deinem Benutzernamen zu schreiben.