2017-03-26 3 views
0

pro1という名前のプログラムと、file1という名前のデータファイルがフォルダ内に1つあります。grep操作を使用したいのですが、わかりません

データファイルで

Alex|New york karlos|011-1234-5678 
Karl|Chicago koroq|012-3456-7890 
Richard|New york ntown|023-4567-8990 

そして私はgrepのANDを使用したいと思います。

私はこのコードを書き留め、それは

for arg in [email protected]; do 
if[ count -eq 1] 
then 
    egrep -i $arg file1 | $temp 
else 
    egrep -i $arg $temp | $temp 
fi 
done 

エコー$の一時

私は「./pro1アレックスニューヨーク」 私はアレックスを印刷するを入力して動作しませんでした|ニューヨークkarlos | 011-1234-5678

どうすればいいですか?

答えて

1

ファイル 'mgrep':このような

#!/bin/bash 

TEMP=/tmp/mgrep-$$ 
touch $TEMP 

COUNTER=0 
for arg in [email protected]; do 
    let COUNTER=COUNTER+1 
    if [ $COUNTER -eq 1 ]; then 
     grep -i "$arg" > $TEMP 
    else 
     TEMP2=/tmp/mgrep-$$-$COUNTER 
     grep -i "$arg" $TEMP > $TEMP2 
     rm $TEMP 
     TEMP=$TEMP2 
    fi 
done 
cat $TEMP 
rm $TEMP 

実行して:

cat file1 | mgrep one two three 
関連する問題