18.7.8. Игнорирование символа #

18.7.8. Игнорирование символа #

При просмотре текстовых файлов возникает необходимость игнорировать или пропускать строки комментария. Ниже приводится типичный пример.

Предположим, что с помощью обычного цикла while просматривается файл конфигурации. Обычно выполняется построчный просмотр.

Однако с помощью оператора case можно игнорировать некоторые строки, начинающиеся с определенных символов. Поскольку символ # является специальным, для его отключения используется символ ""; затем после символа хэша указывается звездочка, что позволит после хэша размещать любые символы.

Ниже приводится типичный файл конфигурации.

$ pg config

#ЭТО КОНФИГУРАЦИОННЫЙ ФАЙЛ ПОДСИСТЕМЫ АУДИТА

#НЕ РЕДАКТИРУЙТЕ ЕГО! ОН РАБОТАЕТ

#

# задание административного доступа

AUDITSCM=full

#местонахождение подсистем

AUDITSUB=/usr/opt/audit/sub

#серийный номер хэша для продукта

HASHSER=12S90AB3

#КОНЕЦ ФАЙЛА КОНФИГУРАЦИИ!!!

#

Ниже приводится сценарий, где игнорируются символы хэша:

$ pg ignore_hash

#!/bin/sh

# игнорируйте_хэш

INPUT_FILE=config

if [ -s $INPUT_FILE ]; then

while read LINE

do

case $LINE in

#*) ;; # игнорировать все символы хэша

*) echo $LINE

;;

esac

done < $INPUT_FILE

else

echo "`basename $0` : Sorry $INPUT_FILE does not exist or ls empty"

exit 1

fi

При выполнении получим:

$ ignore_hash

AUDITSCM=full

AUDITSUB=/usr/opt/audit/sub

HASHSER=12890AB3