Подсчитайте попадания, когда вы закончите:
echo "${LINE_IN}" | grep -E 'pattern1' > "${FILE1}"
REC=$(wc -l < "${FILE1}")
if (( REC > 0 )); then
WRITTEN=1
fi
Если вы действительно хотите использовать awk
, вы должны позволить awk записывать результаты в stdout и анализировать stdout:
echo "${LINE_IN}" | awk '/echo/ {print $0 > "x3"; WRITTEN=1; REC++}
END { print "WRITTEN=" WRITTEN; print "REC=" REC}'
WRITTEN=1
REC=6
И когда вы хотите, чтобы переменные действительно устанавливались, оберните их:
source (echo "${LINE_IN}" | awk '/echo/ {print $0 > "x3"; WRITTEN=1; REC++}
END { print "WRITTEN=" WRITTEN; print "REC=" REC}')
Примечание: привыкните к использованию имен переменных в нижнем регистре, таких как written
, file
и rec
.