如何使用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
答案 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"