Вы должны прочитать string1, что мне делать? Вот мой код:
#!/bin/sh
echo "Enter your sting: "
read read string1
if [ grep -q $string1 file.txt ];then
echo "Found it"
else
echo "Sorry this string not in file"
fi
exit 0
Я думаю, что всегда лучше хранить результат, количество совпадений в этом случае, в переменной.
Тем не менее, у вас есть 2 варианта, используйте grep -c для подсчета согласованных строк [!d1 ]
count=$(grep -c "$string1" file.txt)
Или соедините согласованные строки с wc с grep -o (- только совпадения)
count=$(grep -o "$string1" file.txt | wc -l)
Это будет полный скрипт со вторым вариантом [!d3 ]
#!/bin/sh
echo "Enter your string: "
read string1
count=$(grep -o "$string1" file.txt | wc -l)
if [ $count != 0 ];then
echo "Found it ($count times)"
else
echo "Sorry this string not in file"
fi
exit 0
Кроме того, вы написали read дважды.