3

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

例如,我需要选择我想查找的单词和我想在其中找到它的文件。有人告诉我我真的很接近,但有些东西没有按应有的方式工作。我bash在Linux下使用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

4 回答 4

6

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

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

grep -F "$word1" "$filename"

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


不知道为什么你fi在最后一行。这不是必需的。

于 2013-11-06T18:42:20.437 回答
1
#!/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"

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

于 2017-12-28T06:41:27.583 回答
1

尝试:

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

于 2016-07-11T01:49:41.673 回答
0

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

于 2018-09-29T13:20:59.737 回答