shell: разобрать файл и сказать, существует ли шаблон или нет - PullRequest
0 голосов
/ 03 апреля 2020

Я пытаюсь сделать довольно простой скрипт, который анализирует файл и затем сообщает мне, существует ли искомая строка. Я могу прочитать текстовый файл построчно, а затем использовать grep. Но я не могу проверить, если строка не существует, и я не знаю, почему.

#!/bin/bash
cat file.txt | grep '<span>my name is john</span>' -i | while IFS= read line ; do


if test -z "$line" 
then
      echo "\$line is empty"  <--- Can't get here

else
      echo "\$line is NOT empty"
fi

done

1 Ответ

1 голос
/ 03 апреля 2020

Если вы пытаетесь увидеть, какие строки делают, а какие нет -

while read line     # simplistic - see other posts on handling with more finesse
do case "$line" in  # replaces grep
   *"$yourString"*) echo "found" ;;
                 *) echo "none"  ;;
   esac
done < file.txt     # no need for cat 

Альтернативно,

grep -i '<span>my name is john</span>' file.txt

дает вам все попадания, а

grep -iv '<span>my name is john</span>' file.txt

дает вам все хиты. В противном случае вам, вероятно, следует добавить больше информации в вывод, чтобы она была полезной.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...