如何在shell脚本中使用grep来查找文件内的单词

时间:2013-11-06 17:53:55

标签: linux bash shell grep

如何使用grep查找用户输入的文件中的确切单词作为字符串?

例如,我需要选择我想要找到的单词和我想要找到的文件。我被告知我非常接近,但有些东西不能正常工作。我在Linux下使用bash shell。

这是我到目前为止所做的:

#!/bin/bash
echo "Find the file you want to search the word in?"
read filename
echo "Enter the word you want to find."  
read word1
grep $word1 $filename

4 个答案:

答案 0 :(得分:6)

  

如何使用grep在输入的文件中查找确切的单词   用户为字符串。

尝试使用-F选项。在shell上输入man grep以获取更多详细信息。

grep -F "$word1" "$filename"

建议使用引号括起搜索字符串和文件名,以避免因空格而导致意外输出。


不确定为什么最后一行有fi。这不是必需的。

答案 1 :(得分:1)

尝试:

grep -R WORD ./搜索整个当前目录,或grep WORD ./path/to/file.ext搜索特定文件。

答案 2 :(得分:0)

#!/bin/bash/
echo "Find the file you want to search the word in?"   
read filename  
echo "Enter the word you want to find."   
read word  
cat $filename | grep "$word"

这可以很好地找到文件中的确切单词匹配。

答案 3 :(得分:0)

如果您想在行中匹配精确的单词,请使用
grep "\b$word\b"