Я хочу, чтобы выходные данные отфильтровывали количество указанных c строк в файле, поэтому я считаю и то, что мне нужно, и мне не нужно, и вычитаю. Но почему-то вывод не меняется.
Вот мой сценарий:
#!/bin/bash
for file in "$1"/*;
do
cat "$file" | while read line;
do
countContent1="$(grep '\(<Content>\)' | wc -l)"
countContent2="$(grep '\(showReview\)' | wc -l)"
valuableReviews="$(($countContent1-$countContent2))"
echo "$(b=${file##*/}; echo ${b%.*})" $valuableReviews
done
done | sort -r -n -k 2
обратите внимание, что и <content>
, и showReview
находятся на одной строке в файле. Вывод - это только номер строки, содержащей <content>
, вычитания нет.
Вот часть файла:
<Author>lass=
<Content>Empfehlenswert.... showReview(11348491, 'full');
<Date>Sep 28, 2006
<No. Reader>-1
<No. Helpful>-1
<Overall>4
<Value>-1
<Rooms>4
<Location>-1
<Cleanliness>5
<Check in / front desk>-1
<Service>4
<Business service>-1