Ich habe eine Protokolldatei, die Leerzeichen hat, und ich möchte sie entfernen, jedoch in einigen Fällen echte Loglines mit CR enden und einige mit CR LF enden.Wie CRLF Leerzeilen zu entfernen
Wie kann ich sed/awk/TR die leeren Zeilen, die CR LF und keinen Text haben? Ich habe die Returns zu jeder Zeile unten hinzugefügt, um Ihnen zu zeigen, wie es in Notepad ++ aussieht.
Ich habe den folgenden Befehl versucht, es entfernt jedoch in einigen Fällen die letzten Charters von anderen Protokollzeilen.
sed -i "s/.$//" %Logs%\%DIR1%/%FILENAME1
Schaltet diese
08-22 08:54:53.612 I/SystemServer( 760): StartUserManagerServic
08-22 08:54:53.612 I/SystemServiceManager( 760): Starting com.android.server.pm.UserManagerService$LifeCycl
08-22 08:54:53.613 I/SystemServer( 760): InitAttributerCach
In diese
08-22 08:54:53.612 I/SystemServer( 760): StartUserManagerService
08-22 08:54:53.612 I/SystemServiceManager( 760): Starting com.android.server.pm.UserManagerService$LifeCycle
08-22 08:54:53.613 I/SystemServer( 760): InitAttributerCache
Beispiel: log mit CRLF hinzugefügt. Der Versuch, die Leerzeichen zu entfernen, ohne die wirklichen loglines das Abschneiden
08-22 09:13:42.018 D/TESTAPP(7560): <<< Server Application info >>> <CR><LF>
08-22 09:13:42.018 D/TESTAPP(7560): Name: Subscription<CR><LF>
08-22 09:13:42.018 D/TESTAPP(7560): Package: com.bla.bla2<CR><LF>
08-22 09:13:42.018 D/TESTAPP(7560): Version Name: 1.0.32.47<CR><LF>
08-22 09:13:42.018 D/TESTAPP(7560): Version Code: 32<CR>
<CR><LF>
08-22 09:13:42.019 I/TESTAPP(7560): (95): Upgrade for Subscription is not available<CR>
<CR><LF>
08-22 09:13:42.020 W/TESTAPP(7560): (95): Unable to get the information of ccom.bla.bla as it is not installed<CR>
<CR><LF>
08-22 09:13:42.021 W/TESTAPP(7560): (95): Unable to get the information of com.bla.bla as it is not installed<CR>
<CR><LF>
08-22 09:13:42.023 W/TESTAPP(7560): (95): Unable to get the information of com.bla.bla<CR>
ISTM Ihre Daten hat Leitungen CRLF und andere CRCLLF beenden, also würde ich vorschlagen, dass 'sed s/\ x0d \ x0d \ x0a/\ x0d \ x0a/g' die Aufgabe erledigen sollte. – Magoo
Laufen Sie in einer DOS-Umgebung? Interessiert es dich, wie die nicht leeren Zeilen enden? – Beta
@Magoo, Dies funktionierte nicht sed -i "s/\ x0d \ x0d \ x0a/\ x0d \ x0a/g" test.log oder sed „s/\ x0d \ x0d \ x0a/\ x0d \ x0a/g "test.log> test_neu.log – rcmpayne