Sie können stattdessen die folgenden Befehle verwenden:
$ tail -F /log/rest_server*.log | sed -e "/^==>/d;/^$/d" | egrep -v ' INFO (<some regext>)'
Der Befehl sed entfernt die Zeilen, die mit "==>" beginnen, und die leeren Zeilen.
Ich muss mehrere Dateien beschneiden, und die meisten Informationen werden entfernt (mit grep). Jetzt meine Ausgabe mit Dateinamen verschmutzt. Wie kann ich sie entfernen?
Kurz zum Problem: $ tail -F /log/rest_server*.log | egrep -v ' INFO (<some regext>)'
Rückkehr:
==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== <some useful data1> ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== <some useful data2> ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbm0.log <== <some useful data3> ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbs0.log <== ==> /log/rest_server_dbs1.log <== ==> /log/rest_server_dbm0.log <== <some useful data4> ==> /log/rest_server_dbs1.log <==
Wie kann ich diese Dateinamen und schwarzen Linien entfernen, wenn keine Daten vorhanden sind?
das Ergebnis machen
==> /log/rest_server_dbs1.log <== <some useful data1> <some useful data2> ==> /log/rest_server_dbm0.log <== <some useful data3> <some useful data4>
Sie können stattdessen die folgenden Befehle verwenden:
$ tail -F /log/rest_server*.log | sed -e "/^==>/d;/^$/d" | egrep -v ' INFO (<some regext>)'
Der Befehl sed entfernt die Zeilen, die mit "==>" beginnen, und die leeren Zeilen.