此代碼用於讀取文本文件的目錄並將其與input.txt匹配。我從input.txt中得到了單詞,但我不知道如何從文本文件中提取每個單詞並與之進行比較。該文件是段落形式,所以我不能尋找類似的人物等。有沒有辦法一次一個一個地閱讀每個單詞並進行比較?這裏如何從for循環中的文件逐字讀取
set -- $line
a=$(expr length "$file")
for i in '$line'; do
if [ "$i" = "$keyword" ]; then
count=`expr $count + 1`;
fi
done
done <$file
echo "Profile: " $file
scorefile $value $count
}
scorefile() {
value="$1"
count="$2"
echo "Score: " $((value * count))
}
while read line
do
set -- $line
keyword=$1
value=$2
echo "key: " $keyword
echo "value: " $value
for xx in `ls submissions/*`
do
filename=$xx
findkeyword $filename $keyword $value
done
done <input.txt
你已經做了'set - $ line'這正是你所要求的。你在這裏有「$ @」的字樣。 – tripleee
另外引號''$ line''防止擴展。如果你拿出單引號,你的代碼應該做你想做的事(儘管還不是很優雅)。你似乎並沒有使用'a'的值,'set-$ line'在'findkeywords'函數中沒有做任何事情。 – tripleee