【问题标题】:I want to use AND grep operation, but i don't know how我想使用AND grep 操作,但我不知道如何
【发布时间】:2017-03-26 01:52:19
【问题描述】:

文件夹中有一个名为pro1的程序和一个名为file1的数据文件。

在数据文件中,

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 $@; do
if[ count -eq 1]
then
  egrep -i $arg file1 | $temp
else
  egrep -i $arg $temp | $temp
fi
done

回声 $temp

当我输入“./pro1 Alex New york”时 我要打印 Alex|New york karlos|011-1234-5678

我该怎么做??

【问题讨论】:

    标签: regex bash shell unix grep


    【解决方案1】:

    文件“mgrep”:

    #!/bin/bash
    
    TEMP=/tmp/mgrep-$$
    touch $TEMP
    
    COUNTER=0
    for arg in $@; 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
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2010-12-11
      • 1970-01-01
      • 2021-09-27
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多