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ć \..?

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.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.