awk のシングルクォーテーションの区切り文字を使用するにはどうすればいいですか?

awk のシングルクォーテーションの区切り文字を使用するにはどうすればいいですか?

awk を使用して、次のように SQL 出力から情報を抽出したいと思います。

(count(個別のサーバークラス) = '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}'

関連情報