"cat myfile.log | grep 'INFO' > Zwischenspeicher"
So landet das in einer Datei. Das ist auch ein "Zwischenspeicher". Doch nähme man dafür mktemp. Dazu unten mehr.
~> Zwischenspeicher = `cat myfile.log | grep 'INFO'`;
~> echo $Zwischenspeicher;
Beachte die Backticks (`) und das Dollarzeichen beim Lesen aus der Variable Zwischenspeicher. Sieht aus wie eine Lösung.
Doch halt, da ist noch Unsinn drin:
~> Zwischenspeicher = grep 'INFO' < myfile.log
;`
... ist besser, sonst bekommst Du noch einen Blumentopf im Wettbewerb um die sinnloseste Verwendung des Programmes cat, welches zum "Concatenieren" (Zusammenfügen) von Dateien dient.
Ein
~> Zwischenspeicher =
cat myfile.log myfile.log.1 | grep 'INFO';
wäre also ok, weil cat dann tut, wozu es geschaffen wurde. In Deinem Beispiel ist es sinnlos.
Zur Datei als Zwischenspeicher:
~> tempfile=`[link:http://unixhelp.ed.ac.uk/CGI/man-cgi?mktemp@title=mktemp]`;
# Das legt ein eine temporäre Datei im Verzeichnis für temporäre Dateien an (/tmp/)
# und gibt den Name zurück, der in $tempfile steht. Beachte die Backticks.
~> grep 'INFO' < myfile.log > $tempfile;
# Das schreibt alle Zeilen, die "INFO" enthalten in die Datei, deren Name in $tempfile steht.
~> echo $tempfile;
# gibt den Name und den Pfad der Datei aus.
~> less $tempfile;
# Betrachten des Inhalts
~> wc -l < $tempfile;
# Ausgabe der Zeilenanzahl(=Ergebnisse) aus der Datei. So geht das für alle Programme
# die Dateinamen nicht als Parameter oder Optionsparameter entgegen nehmen, sondern
# ausschließlich die Daten über die Konsole erwarten.
~> wc -l $tempfile;
# wc kann aber auch Dateien öffnen, die als Parameter angegeben werden.
# Das liefert aber außer dem Ergebnis auch noch den Dateiname. Kann unerwünscht sein.
~> unlink $tempfile;
# löscht die Datei ohne Rückfrage