0
我想要读取并显示文本文件中的每个单词,然后突出显示指定的元音或辅音。如何在bash脚本中匹配文本文件中的字符串值
当我从文件读取时,我只能读整行,所以我用一个循环读取行中的每个单词。但是,当我这样做时,我无法访问该单词中的不同位置。 (例如,如果一个词是“幸福的”我无法访问的字母“A”的第二个现在的位置)
#READS EACH LINE
while read line
do
#READS EACH WORD IN THE LINE
for word in $line
do
#LOOPS THROUGH EACH CHARACTER IN THE WORD
for ((i=0; i<${#word}; i++))
do
#LOOPS THROUGH ALL VALUES IN VOWEL ARRAY
for ((j=0; j<10; j++))
do
#MATCHES IF A VOWEL IS FOUND
if [ "${word[$i]}" == "${varray[$j]}" ]
then
let vcount++
echo i:$i j:$j
echo word: ${word[$i]} varray: ${varray[$j]} #DEBUG
fi
done
done
#MORE CODE HERE DOING STUFF PRINTING TO SCREEN
done
done < $file
有什么我做错了吗? 或者我应该以不同的方式阅读文件以访问单词的每个字符?
当我echo
双字for loop
中的单词将整个单词显示为第一个位置而不是第一个字符。其余的位置2,3等都是空的。
谢谢你的回答,它为我澄清了一些事情。我设法让我的脚本匹配元音:D。现在,当我根据元音的数量添加具有不同条件的IF语句时,无论是否有元音,它总是会输入相同的IF语句? – hotlinks0