не помню команду, напомните smile хочу просмотреть без коментов свой созданый коннф в:
cat /usr/local/etc/squid/squid.conf | grep -v # делаю так но между строк много интервала помню была другая команда для того чтобы увидеть все без коментов
Комнда grep
А так?
egrep -v '^#|^$' /usr/local/etc/squid/squid.conf
а так хорошо друг спасибо smile
[console]sed '/^\s*#/d' файл[/console]
drBatty, а пустые строки?
ка вариант :
grep -v "^#" <ваш файл> | sed -e '/^$/d'
grep -v "^#" <ваш файл> | sed -e '/^$/d'
А смысл? wink Я и на awk могу комментарии «порезать».
это дополнение к
А так?
а придумать можно все что угодно, лишь бы было бы желание wink
а пустые строки?
[console]sed '/^\s*#/d;/^\s*$/d' файл
[/console]
PS: вообще-то, строка с комментарием может начинаться (и часто начинается) с пробелов. Потому все ваши grep'ы работают не совсем правильно.
Однако, если полностью распарсить, то это будет слишком сложно:
Показать
#!/bin/sed -rf
# сохранение строки
h
:begin_loop
# p
# удаление обычного начала
s/^[^'"#\]+(.*)/\1/
t begin_loop
# удаление экранированных символов
s/^\\.//
t begin_loop
# удаление закавыченного блока
s/^'[^']*'//
t begin_loop
s/^'.*//
T lq
# незакрытый блок кавычек, необходима подгрузка
${
x
b end
}
n
H
s/^/'/
t begin_loop
:lq
# удаление экранированной кавычки внутри закавыченного блока
s/^"[^"]*\\"/"/
t begin_loop
# удаление закавыченного блока
s/^"[^"]*"//
t begin_loop
s/^".*//
T lq2
${
x
b end
}
n
H
s/^/"/
t begin_loop
:lq2
/^\#/{
# теперь строка начинается с #
H
x
s/^(.*)(\#[^\n]*)\n\2$/\1/
b end
}
# а коммента и нету
x
:end
# s/.*/\x1b[32m'&'\x1b[0m/
(С) моё
drBatty, это ТЗ? Давайте обсудим условия. wink
P.S.
awk '{if($1 !~ /^$/ && $1 !~ /#/) print }' /usr/local/etc/squid/squid.conf