Как использовать разделитель одинарных кавычек awk?

Как использовать разделитель одинарных кавычек awk?

Я хотел бы использовать awk для извлечения информации из вывода SQL, например, так:

(count(distinct serverclass)='2')

И нужно извлечь число, в данном примере это 2.

Я хотел бы сделать что-то вроде следующего, но не могу понять, как избежать одинарных кавычек:

<sqlCommand> | awk 'BEGIN{FS="'"}{print $2}'

Как мне использовать одинарную кавычку в качестве разделителя полей в awk?

решение1

Чтобы вставить символ одинарной кавычки в строку, заключенную в одинарные кавычки, завершите текущую строку, напишите "'"или \'и начните строку заново.

В вашем примере это

awk 'BEGIN{FS="'"'"'"}{print $2}'

или

awk 'BEGIN{FS="'\''"}{print $2}'

Однако использование -Fпереключателя для указания разделителя полей приведет к более разборчивому коду:

awk -F\' '{print $2}'

Связанный контент