Как вызвать функцию split в awk для разделения строки на "\."?

Как использовать функцию split для разделения на "\."?

Например, сначала рассмотрим расщепление на ::

echo "03:26:12" | awk '{split($0,a,":"); print a[3] a[2] a[1]}'

Что производит этот вывод:

122603

Но если вместо этого находится входящая строка:

echo "03\.26\.12" | awk '{split($0,a,???); print a[3] a[2] a[1]}'

С желаемым выходом:

122603

Что должно быть ????

2 ответа

Вы должны скрыть оба символа:

echo "03\.26\.12" | awk '{split($0,a,/\\\./); print a[3] a[2] a[1]}'

Результат:

122603


echo "03\.26\.12" | awk '{split($0,a,"\\\."); print a[3] a[2] a[1]}'

Это дает тот же результат.

licensed under cc by-sa 3.0 with attribution.