ucieczka przed pojedynczą kropką podwójnym ukośnikiem - awk

10

Książka „skuteczne awk programowanie” zawiera przykład dzielenia pól. oto przykład:

Jeśli chcesz, aby pola były oddzielone literałem, po którym następuje dowolny pojedynczy znak, użyj ‘FS = "\\.."’.

Dlaczego jest to podwójny ukośnik odwrotny? nie powinno być \..?

Majid Azimi
źródło

Odpowiedzi:

14

Zarówno ciąg znaków, jak i wyrażenia regularne w awk korzystają z wielu takich samych znaków ucieczki odwrotnego ukośnika, w tym \\dla jednego \. Ponieważ FSjest to wartość ciągu interpretowana wewnętrznie jako wyrażenie regularne, te wspólne sekwencje specjalne muszą być poprzedzone dwiema sekwencjami. Stąd \\w ciągu staje \się on interpretowany jako wyrażenie regularne.

jw013
źródło