С учетом этого ввода:
Options Indexes
Options +Indexes
Options Indexes MultiViews
Options Indexes # Comment
Options Indexes # Indexes
Options MultiViews # Indexes
# Indexes yadayada Indexes
Кажется, это работает:
$ grep '^[^#]*Indexes' input
Options Indexes
Options +Indexes
Options Indexes MultiViews
Options Indexes # Comment
Options Indexes # Indexes
$ grep -v '^[^#]*Indexes' input
Options MultiViews # Indexes
# Indexes yadayada Indexes
Чтобы разобрать регулярное выражение:
^
-Начало строки [^#]*
-Ноль или более любых символов, не являющихся октоторпами Indexes
-Литеральная строкаIndexes
В контексте вашего скрипта:
if grep -rl -- '^[^#]*Indexes' "$DIR1/httpd.conf" "$DIR2/http"; then
echo "The above-listed files use an 'Indexes' directive."
fi