Bash-Script mit Grep zum suchen eines Musters in einer Datei

Ich Schreibe ein bash-Skript zum suchen eines Musters in einer Datei mit GREP. Ich bin ratlos, warum es nicht funktioniert. Dies ist das Programm

echo "Enter file name...";
read fname;
echo "Enter the search pattern";
read pattern
if [ -f $fname ]; then
    result=`grep -i '$pattern' $fname`
    echo $result;
fi

Oder ist es anderen Ansatz, dies zu tun ?

Dank


(Inhalt der Datei)

Welcome to UNIX
The shell is a command programming language that provides an interface to the UNIX operating system.
The shell can modify the environment in which commands run.
Simple UNIX commands consist of one or more words separated by blanks. 
Most commands produce output on the standard output that is initially connected to the terminal. This output may be sent to a file by writing.
The standard output of one UNIX command may be connected to the standard input of another UNIX Command by writing the `pipe' operator, indicated by |

(Muster)

`UNIX` or `unix`
  • grep sollte geleitet werden afaik so tun ls -l | grep '^d' zum Beispiel werden wieder alle Verzeichnisse, die in der aktuellen Lage...
  • grep aus einer Liste von Dateinamen oder einen Platzhalter. Es muss nicht gepumpt werden.
  • Hat Ihr Muster, die Zeichen enthalten, müssen escaped werden?
  • Müssen Sie auch, um zu zeigen, verwenden Sie (1) den Inhalt der Datei, die Sie grepping; und (2) das Muster, das Sie sind, zu betreten.
  • Wenn Ihr Muster enthält Sonderzeichen verwenden grep -F um Sie zu deaktivieren.
  • Ist dieses Skript nur für Lern Zwecke, oder sind Sie eigentlich vor sich geht, dies zu nutzen?
  • seiner gerade für das lernen.

Schreibe einen Kommentar