grep in IF-Anweisung

Der folgende Skriptteil liest jede Zeile in$next. Aber wenn ich versuche, ein bestimmtes Muster zu erfassen, d. H."MO" im$next, der Fehler wird in der Standardausgabe angezeigt als:

grep: 40922|OPR: No such file or directory  
grep: MO: No such file or directory  
grep: 12345|OPR: No such file or directory  
grep: MO: No such file or directory   
grep: 12345|12345|202|local|LMNO: No such file or directory  

cat /home/scripts/$E1.out | while read next  
do  
i=`echo $next | awk -F"|" '{print($1)}'`
j=`echo $next | awk -F"|" '{print($2)}'`
k=`echo $next | awk -F"|" '{print($3)}'`
l=`echo $next | awk -F"|" '{print($4)}'`
m=`echo $next | awk -F"|" '{print($5)}'`
n=`echo $next | awk -F"|" '{print($6)}'`
o=`echo $next | awk -F"|" '{print($6)}'`  
if grep -q "MO" $next  
then echo "FOUND;" >> /home/scripts/sql.$E1.out  
else echo "NOT FOUND;" >> /home/scripts/sql.$E1.out  
fi  
done  

$E1.out Dateien sehen so aus:

40922|OPR MO 12345|OPR MO 12345|12345|202|local|LMNO  

Antworten auf die Frage(6)

Ihre Antwort auf die Frage