#!/bin/bash
wordcount=0
for i in $HOME/*.txt
do
cat $i |
while read line
do
for w in $line
do
if [[ $w == .*[aeiouAEIOU].*[AEIOUaeiou].* ]]
then
wordcount=`expr $wordcount + 1`
echo $w ':' $wordcount
else
echo "In else"
fi
done
done
echo $i ':' $wordcount
wordcount=0
done
这是我从一个txt文件中提取的样本
最后修改时间:2017年8月20日星期日18:18:27 IST
要删除PPA
sudo apt-get install ppa-purge
sudo ppa-purge ppa:
问题是它不符合if语句中文本文件中所有单词的模式。它直接进入else语句。其次,echo $i ':' $wordcount中的单词计数等于0,但应该是某个值。
while ...; do ...; done <<< "$i"
替换cat $i | while ...; do ...; done
。 - Cyrus