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


10

O livro "programação awk eficaz" tem um exemplo de divisão de campo. aqui está o exemplo:

Se você deseja que os campos sejam separados por um período literal seguido por qualquer caractere único, use ‘FS = "\\.."’.

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

Respostas:


14

As expressões regulares e de cadeia de caracteres no awk compartilham muitos dos mesmos escapes de barra invertida, inclusive \\para um único \. Como FSé um valor de sequência que é interpretado internamente como uma expressão regular, essas fugas compartilhadas precisam ser escapadas duas vezes. Assim, \\em uma string, torna-se \no momento em que é interpretada como uma expressão regular.

Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.