Unix - 在给定字符串的文件匹配中查找模式

时间:2016-02-29 14:52:41

标签: shell unix awk

素不相识 我想看一个字符串是否在文件中有正则表达式匹配

示例: 文件:

37|X|ari||ari????_test_V?|M|a.dat
38|Y|ari||FEB2016_ranstong_V?|M|x.dat
39|Z|ari||PA201606_outpop_V?|M|z.dat

要搜索的字符串:ari2014_test_V1

结果:

37|X|ari||ari????_test_V?|M|a.dat 

任何想法? 提前谢谢。

1 个答案:

答案 0 :(得分:2)

您可以使用此shell脚本:

kw='ari2014_test_V1'

while read -r; do
    IFS='|' read -ra arr <<< "$REPLY"
    for v in "${arr[@]}"; do
       [[ $kw == $v ]] && { echo "$REPLY"; break; }
    done
done < file

37|X|ari||ari????_test_V?|M|a.dat