zu extrahieren habe ich eine Datei viele Blöcke wie folgt enthält:Wie ein letzten Block aus einer Datei
==9673==
==9673== HEAP SUMMARY:
==9673== in use at exit: 0 bytes in 0 blocks
==9673== total heap usage: 75,308 allocs, 75,308 frees, 7,099,382 bytes allocated
==9673==
==9673== All heap blocks were freed -- no leaks are possible
==9673==
==9673== For counts of detected and suppressed errors, rerun with: -v
==9673== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
....
....
....
....
==9655==
==9655== HEAP SUMMARY:
==9655== in use at exit: 0 bytes in 0 blocks
==9655== total heap usage: 75,308 allocs, 75,308 frees, 7,099,382 bytes allocated
==9655==
==9655== All heap blocks were freed -- no leaks are possible
==9655==
==9655== For counts of detected and suppressed errors, rerun with: -v
==9655== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
....
....
....
==9699==
==9699== HEAP SUMMARY:
==9699== in use at exit: 0 bytes in 0 blocks
==9699== total heap usage: 75,308 allocs, 75,308 frees, 7,099,382 bytes allocated
==9699==
==9699== All heap blocks were freed -- no leaks are possible
==9699==
==9699== For counts of detected and suppressed errors, rerun with: -v
==9699== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Ich mag mit der Linie Beginn den letzten Block extrahieren:
==XXXX== HEAP SUMMARY:
in meinem So Beispiel Ich möchte nur den letzten Block extrahieren:
==9699== HEAP SUMMARY:
==9699== in use at exit: 0 bytes in 0 blocks
==9699== total heap usage: 75,308 allocs, 75,308 frees, 7,099,382 bytes allocated
==9699==
==9699== All heap blocks were freed -- no leaks are possible
==9699==
==9699== For counts of detected and suppressed errors, rerun with: -v
==9699== ERROR SUMMARY: 0 errors from 0 contexts (suppressed: 0 from 0)
Wie kann ich das mit bash?
[Bearbeiten] Ihre Eingabe aller '...' s, um loszuwerden, und es ist ein Beton, prüfbare Beispiel machen. Der Text zwischen deinen Blöcken ist genauso wichtig wie deine Blöcke. Zum Beispiel, wenn es wirklich eine Leerzeile zwischen jedem Block gibt, wie Ihr Beispiel momentan impliziert, dann brauchen Sie nur 'awk -v RS =' {s = $ 0} END {Druck s} 'Datei' und wenn jeder Block 8 Zeilen hat Alles, was Sie brauchen, ist 'tail -8 file', aber idk, wenn einer der beiden so aussieht wie Ihre Eingabe formatiert ist oder nicht. –