fuga da un singolo punto con doppia barra rovesciata - awk


10

Il libro "efficace programmazione awk" contiene un esempio di suddivisione in campi. ecco l'esempio:

Se si desidera che i campi siano separati da un punto letterale seguito da un singolo carattere, utilizzare ‘FS = "\\.."’.

Perché è una doppia barra rovesciata? non dovrebbe essere \..?

Risposte:


14

Sia le stringhe che le espressioni regolari in awk condividono molte delle stesse escape di backslash, anche \\per un singolo \. Poiché FSè un valore di stringa che viene interpretato internamente come un'espressione regolare, è necessario eseguire l'escaping due volte di tali escape condivisi. Così \\in una stringa diventa \quando viene interpretata come un'espressione regolare.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.