2016-07-17 7 views
0

Я использую gawk в терминале для соответствия строке ALLOWED_HOSTS = [] в файле ниже. Я использую gawk '$1 ~ /ALLOWED_HOSTS =.+$/{ print $0 }' file_name. Я не получаю никакого соответствия. Это очень озадачивает. Я пробовал использовать /^ALLOWED_HOSTS =.+$/, но не добился успеха. Пожалуйста, посмотрите в конце текста, чтобы увидеть строку, которую я пытаюсь сопоставить.Соответствие регулярному выражению gawk

Django settings for superlists project. 

For more information on this file, see 
https://docs.djangoproject.com/en/1.7/topics/settings/ 

For the full list of settings and their values, see 
https://docs.djangoproject.com/en/1.7/ref/settings/ 
""" 

# Build paths inside the project like this: os.path.join(BASE_DIR, ...) 
import os 
BASE_DIR = os.path.dirname(os.path.dirname(__file__)) 


# Quick-start development settings - unsuitable for production 
# See https://docs.djangoproject.com/en/1.7/howto/deployment/checklist/ 

# SECURITY WARNING: keep the secret key used in production secret! 
SECRET_KEY = '4(8f0buww1_&0jqmo-zg89$!epi=zd0)z3v^d+qp&z63fg*bin' 

# SECURITY WARNING: don't run with debug turned on in production! 
DEBUG = True 

TEMPLATE_DEBUG = True 

ALLOWED_HOSTS = [] 


# Application definition 
+0

Что такое FS (FieldSeperator) вы используете? По умолчанию «" (пробел) - это FS. поэтому совпадение с $ 1 может быть проблемой здесь. /^ALLOWED_HOSTS[[:space:]]+=.+$/{print} может работать – Chet

ответ

1

$1 содержит только ALLOWED_HOSTS маркера, а не остальную часть линии. Вы хотите сравнить против $0 - что подразумевается в любом случае, если вы не предоставите конкретное значение для сравнения, так что весь ваш скрипт эквивалентен

gawk '/ALLOWED_HOSTS/' file_name 
+0

спасибо, это была глупая ошибка :) –