我的任务是编写一个计算汽车列表中Red Ford Fiestas数量的方法,然后将该数字输出到.txt
文件,特别是不使用grep中的-c
选项
numberCars=0
while read car
do
echo $car
if grep -E Ford\:Fiesta.*Red $car; then
echo "-------DONE------"
(($numberCars++))
fi
done < $userInput
echo $numberCars > output/Fiesta_Red.txt
第一个echo $car
有效,所以我知道while循环正常工作。但是,每个if grep
都会返回汽车的详细信息,然后是&#34; No such file or directory
&#34;。我已经测试过,每个if
都返回false,无论我搜索的模式是否存在
作为参考,这是carslist.txt
格式化的示例:
Peugeot:206:2000:Black:1
Ford:Fiesta:2000:Red:2
答案 0 :(得分:1)
测试模式的可能解决方案
[[ $car =~ Ford\:Fiesta.*Red ]] && echo "-------DONE------" && (($numberCars++))