Wie kann ich mit cat nur den letzten Absatz eines Textes in einer Datei anzeigen?

-1

Ich wurde für eine Aufgabe in der Schule herausgefordert und kann nirgendwo eine Antwort finden. Ich habe eine Textdatei namens tomtextfile und in der Frage steht 'Benutze das Katze Befehl, entsprechend geändert, um nur den letzten Absatz Ihres Textes anzuzeigen. Wie ist das möglich?

Tom Scott
quelle
2
Ich bin mir ziemlich sicher, dass dies nur mit unmöglich ist cat. Sind Sie sicher, dass Sie keine zusätzlichen Werkzeuge verwenden dürfen? (sowie sed, awk, oder cut )
mtak
2
Also ja, Sie dürfen verschiedene Befehle verwenden. Ich würde nicht sagen, dass Piping zu einem anderen Befehl (in diesem Fall grep) ist modifizieren ein Befehl, aber das könnte ein Terminologieproblem sein.
mtak
1
Sie müssen erklären, wie die Textdatei aufgebaut ist. Ist ein Absatz beispielsweise ein Satz von Zeilen, die durch eine Leerzeile getrennt sind, oder eine durch eine Leerzeile abgeschlossene Textzeile? Die Behandlung von Zeilenumbrüchen kann sich auf die Optionen auswirken, mit denen geändert wird, wie Absätze und Zeilen von den Befehlen in der Pipeline analysiert werden.
Suncat2000
2
Sie veröffentlichen Ihre eigene Antwort nicht als Teil einer Frage. Wenn Sie eine Antwort auf eine selbst gelöste Frage haben, posten Sie diese als Antwort.
JakeGould
3
@TomScott Auf dieser Website werden Fragen und Antworten gepostet. Diese Seite ist kein zufälliger Chatroom oder Message Board, in den zufällig Personen posten. Die Art und Weise, wie Sie Ihre Antwort mit anderen teilen können, ist eine Antwort schreiben. Wenn Sie denken, dass dies nur ich bin, dann weisen Sie bitte darauf hin Lesen Sie, wie diese Site funktioniert .
JakeGould

Antworten:

2

Eine weitere Möglichkeit mit tac (reverse cat):

tac tomtextfile | grep "^$" -B1000000 -m1 | tac | grep -v "^$"
Zumo de Vidrio
quelle
Die Antwort für mich war: Katzentomtextdatei | Schwanz -n 1
Tom Scott
2

Dies sollte den Trick machen:

katze tomtextfile | awk -v RS = "" '{last = $ 0} END {print last}'

n8te
quelle