本文介绍了是否有可能做存储在阵列中的关键字grep的?的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

是否有可能做的grep与存储阵列中的关键字。

下面是可能的code片段...请更正

  ARGS =(KEY1键2,KEY3)猫FILE_NAME |同时读线
 回声$线| grep的-q -w $ {ARGS [C]}
DONE

目前,我可以只搜索一个关键字。我想搜索存储在所有关键字的 ARGS 的数组。

任何建议将是非常美联社preciated。

谢谢,
基兰


解决方案

  ARGS =(KEY1键2,KEY3)
拍拍= $(回声$ {ARGS [@]} | TR|)
grep的-Eow$拍文件

或者与外壳

  ARGS =(KEY1键2,KEY3)
而读-r线

    因为我在$ {ARGS [@]}
    做
        案$线
            *$ I*)回声发现:$行;;
        ESAC
    DONE
完成<文件

Is it possible to do a grep with keywords stored in the array.

Here is the possible code snippet... Please correct it

args=("key1" "key2" "key3")

cat file_name |while read line
 echo $line | grep -q -w ${args[c]}
done

At the moment, I can search for only one keyword. I would like to search for all the keywords which is stored in args array.

Any suggestion would be highly appreciated.

Thanks,Kiran

解决方案
args=("key1" "key2" "key3")
pat=$(echo ${args[@]}|tr " " "|")
grep -Eow "$pat" file

Or with the shell

args=("key1" "key2" "key3")
while read -r line
do
    for i in ${args[@]}
    do
        case "$line" in
            *"$i"*) echo "found: $line";;
        esac
    done
done <"file"

这篇关于是否有可能做存储在阵列中的关键字grep的?的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

10-23 22:06