目前有這樣一個文本資訊:
2019-03-13 11:00:33.403777 CST|gpadmin|template1|p21310|th687359968|::1|27676|2019-03-13 11:00:33 CST|0||cmd7|seg-1||||sx1|LOG: |00000|statement: SELECT typname, typlen FROM pg_type WHERE oid=25||||||SELECT typname, typlen FROM pg_type WHERE oid=25|0||postgres.c|1616|
2019-03-13 11:00:33.407718 CST|gpadmin|template1|p21310|th687359968|::1|27676|2019-03-13 11:00:33 CST|0||cmd9|seg-1||||sx1|LOG: |00000|statement:
SELECT dbid, content, role, preferred_role, mode, status,
hostname, address, port, datadir
FROM pg_catalog.gp_segment_configuration
ORDER BY content, preferred_role DESC||||||
SELECT dbid, content, role, preferred_role, mode, status,
hostname, address, port, datadir
FROM pg_catalog.gp_segment_configuration
ORDER BY content, preferred_role DESC
|0||postgres.c|1616|
2019-03-13 11:00:33.409371 CST|gpadmin|template1|p21310|th687359968|::1|27676|2019-03-13 11:00:33 CST|0||cmd11|seg-1||||sx1|LOG: |00000|statement: SELECT typname, typlen FROM pg_type WHERE oid=21||||||SELECT typname, typlen FROM pg_type WHERE oid=21|0||postgres.c|1616|
2019-03-13 11:00:34.082752 CST|||p21298|th687359968||||0|||seg-1|||||LOG: |00000|database system is shut down|||||||0||xlog.c|8245|
2019-03-13 23:59:51.858271 CST|||p21455|th877815776||||0|||seg-1|||||LOG: |00000|3rd party error log:
line=||||||||SysLoggerMain|syslogger.c|705|
2019-03-13 23:59:51.858300 CST|||p21455|th877815776||||0|||seg-1|||||LOG: |00000|3rd party error log:
164||||||||SysLoggerMain|syslogger.c|705|
2019-03-13 23:59:51.858345 CST|||p21455|th877815776||||0|||seg-1|||||LOG: |00000|3rd party error log:||||||||SysLoggerMain|syslogger.c|705|
2019-03-13 23:59:51.858479 CST|gpmon|gpperfmon|p18776|th877815776|[local]||2019-03-13 23:59:51 CST|0|con8378|cmd1|seg-1||dx16920||sx1|LOG: |00000|Planner produced plan :0||||||insert into segment_history select * from _segment_tail;|0||orca.c|58|
這是一段日志檔案,目前因為其中的非法換行問題,導致無法決議;現在想通過sed把無效的換行去掉,條件是每行以“2019-03-13 23:59:51.858300 CST”這種日期格式開頭的認為是有效記錄的開始,不是這個格式開頭的,認為是之前的行沒結束而換行導致的。
通過sed處理后,希望可以得到內容,每行都是以“2019-03-13 23:59:51.858300 CST”日期格式開頭的完整行,不再有無效換行;
謝謝各位大俠了。
uj5u.com熱心網友回復:
可以考慮先去所有換行再用日期分隔
cat test.txt | sed ":a;N;s/\n//g;ta" | sed 's/2019/\n2019/g'
轉載請註明出處,本文鏈接:https://www.uj5u.com/caozuo/133685.html
標籤:應用程序開發區
