ant: Ignore o espaço em branco inicial para a partida

5

Eu quero substituir a porta de escuta padrão do httpd para 9090. Eu posso editar a linha no arquivo httpd.conf usando abaixo

sed -i "/^Listen/c\Listen 9090" /etc/httpd/conf/httpd.conf

Mas a linha

Listen 80

pode ter espaço em branco antes disso.

Como eu ignoro esse espaço em branco para corresponder a essa linha?

    
por user1263746 09.09.2013 / 09:14

2 respostas

4

Altere seu padrão correspondente para não capturar espaços em branco antes de listar da seguinte maneira:

/^\s*Listen/

Isso incluirá todos

Listen ..
    Listen ...

e outros.

    
por 09.09.2013 / 09:33
6

Apenas permita que a expressão regular corresponda também ao espaço em branco. Você pode usar o grupo de caracteres [ \t] (que corresponde aos caracteres de espaço ou tabulação) ou a expressão de colchete POSIX equivalente [:blank:] .

Portanto, /^Listen/ se torna /^[[:blank:]]*Listen/ . (Observe que a expressão de colchetes é efetivamente escrita com um par de colchetes duplos.)

    
por 09.09.2013 / 09:34