Linux 如何创建可以扫描文件以查找特定单词的shell脚本?
在计算机科学GCSE考试中,我要回答的一个问题是: 编写一个shell脚本,接收用户输入的字符串,请求文件名并报告文件中是否存在该字符串 不管我怎么做,我都无法创建shell脚本。Linux 如何创建可以扫描文件以查找特定单词的shell脚本?,linux,Linux,在计算机科学GCSE考试中,我要回答的一个问题是: 编写一个shell脚本,接收用户输入的字符串,请求文件名并报告文件中是否存在该字符串 不管我怎么做,我都无法创建shell脚本。 我不需要你告诉我整个数字,但是,我不知道从哪里开始。我输入变量和文件名,但是,我不知道如何在所选文件中搜索所选单词。有什么想法吗?例如,使用grep可以让它工作 viewEntry() { echo "Entering view entry" echo -n "Enter Name: " re
我不需要你告诉我整个数字,但是,我不知道从哪里开始。我输入变量和文件名,但是,我不知道如何在所选文件中搜索所选单词。有什么想法吗?例如,使用grep可以让它工作
viewEntry()
{
echo "Entering view entry"
echo -n "Enter Name: "
read input
if grep -q "$input" datafile
then
echo ""
echo -n "Information -> "
grep -w "$input" datafile
echo ""
else
echo "/!\Name Not Found/!\\"
fi
echo "Exiting view entry"
echo ""
}
数据文件是您将从中读取的文件。然后利用grep的-q和-w参数,您应该能够浏览您选择的文件
这个网站很好地解释了grep和您的确切问题:下面的shell脚本是一个非常快速的方法来完成您的建议:
#!/bin/sh # Tell your shell with what program this script should be exectued
echo "Please enter the filename: "
read filename # read user input into variable filename
count=`grep -c $1 $filename` # store result of grep into variable count
if [ $count -gt 0 ] # check if count is greater than 0
then
echo "String is present:" $1
else
echo "String not found:" $1
fi
您应该了解shell脚本的基本知识。您的任务不是很复杂,因此在阅读一些内容之后,您应该能够理解脚本的作用,并根据需要修改它