繁体   English   中英

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

[英]How to use grep in a shell script to find a word inside of a file

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

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

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

grep -F "$word1" "$filename"

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


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

尝试:

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

#!/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"

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM