
Я хотел бы использовать 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}'