用grep搜索带破折号的字符串

时间:2013-12-27 13:57:39

标签: bash grep

我在线阅读了一些但无法找到答案。假设我有这一行(和其他一些):

    olga gell-er tel-aviv 56 43

我想使用grep在文件中查找名称(假设它目前只包含此行)。问题是我想查找确切的字符串,包括“ - ”。所以,如果我搜索olga gell,它将无法在文件中找到它。

到目前为止,我已经尝试过($ 2 $ 3是命令行中的字符串,$ 1是文件名)

    grep -iwc ^"$2 $3" $1

但是这个选项也找到了olga gell,我不想要。那么我该如何解决这个问题呢?

我的命令行看起来像这样:

    change_team.bash players olga gell Real new2

change_team.bash是脚本的名称。球员是档案。 “olga gell”是我正在寻找的名字,其余的目前无关紧要。

2 个答案:

答案 0 :(得分:0)

以下解决了您的问题:

./scriptName.sh test olga gell[\w-]

答案 1 :(得分:0)

如果名称后面总是有空格,只需要将空格作为模式的一部分。

grep -iwc ^"$2 $3 " $1