escapando de um único ponto com barra invertida dupla - awk

7

O livro "awk programming" eficaz tem um exemplo de divisão de campos. aqui está o exemplo:

If you want fields to be separated by a literal period followed by any single character, use ‘FS = "\.."’.

Por que é barra invertida dupla? não deveria ser \.. ?

    
por Majid Azimi 02.05.2012 / 09:21

1 resposta

12

A string e as expressões regulares no awk compartilham muitas das mesmas falhas de contrabarra, incluindo \ para um único \ . Como FS é um valor de string que é interpretado internamente como uma expressão regular, esses escapes compartilhados precisam ser escapados duas vezes. Assim, \ em uma string se torna \ no momento em que é interpretado como uma expressão regular.

    
por 02.05.2012 / 10:30