échapper à un point avec double barre oblique inverse - awk


10

le livre "programmation awk efficace" a un exemple sur le découpage de champs. voici l'exemple:

Si vous souhaitez que les champs soient séparés par un point littéral suivi d'un caractère unique, utilisez ‘FS = "\\.."’.

Pourquoi est-ce une double barre oblique inverse? ne devrait-il pas en être ainsi \..?

Réponses:


14

Les expressions de chaîne et régulières dans awk partagent plusieurs des mêmes échappements de barre oblique inverse, y compris \\pour un seul \. Puisqu'il FSs'agit d'une valeur de chaîne qui est interprétée en interne comme une expression régulière, ces échappements partagés doivent être échappés deux fois. Ainsi, \\une chaîne devient \au moment où elle est interprétée comme une expression régulière.

En utilisant notre site, vous reconnaissez avoir lu et compris notre politique liée aux cookies et notre politique de confidentialité.
Licensed under cc by-sa 3.0 with attribution required.