我在线阅读了一些但无法找到答案。假设我有这一行(和其他一些):
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”是我正在寻找的名字,其余的目前无关紧要。
答案 0 :(得分:0)
以下解决了您的问题:
./scriptName.sh test olga gell[\w-]
答案 1 :(得分:0)
如果名称后面总是有空格,只需要将空格作为模式的一部分。
grep -iwc ^"$2 $3 " $1