如何使用单引号的awk分隔符?

Wil*_*mKF 13 unix awk escape-characters

我想使用 awk 从 SQL 输出中提取信息,如下所示:

(计数(不同的服务器类)='2')

并且需要提取数字,在这个例子中是2。

我想做类似以下的事情,但无法弄清楚如何转义单引号:

<sqlCommand> | awk 'BEGIN{FS="'"}{print $2}'
Run Code Online (Sandbox Code Playgroud)

如何在 awk 中获得文字单引号作为字段分隔符?

Den*_*nis 15

要在单引号字符串中插入单引号字符,请结束当前字符串,写入"'"\'并再次开始字符串。

在你的例子中,那是

awk 'BEGIN{FS="'"'"'"}{print $2}'
Run Code Online (Sandbox Code Playgroud)

或者

awk 'BEGIN{FS="'\''"}{print $2}'
Run Code Online (Sandbox Code Playgroud)

但是,使用-Fswitch 指定字段分隔符将导致更清晰的代码:

awk -F\' '{print $2}'
Run Code Online (Sandbox Code Playgroud)