Ich möchte Änderungen an einer Datei über verfolgen tail -f
und dann die erste Zeile ausdrucken, die einem grep
Befehl entspricht, bevor ich sie beende. Was ist der einfachste Weg, dies zu tun? Bisher habe ich mit Dingen experimentiert wie:
tail -f foo.log | grep 'bar' | head -1
Die Pipeline hängt jedoch nur, vermutlich aufgrund von Pufferung. Ich habe es auch versucht
tail -f foo.log | grep --line-buffered 'bar' | head -1
Dadurch wird die Zeile ausgedruckt, aber der Vorgang wird erst beendet, wenn ich ^ C drücke, vermutlich weil zum Beenden eine zweite Eingabezeile erforderlich ist head -1
. Was ist der beste Weg, um dieses Problem zu lösen?