Linux awkコマンドで文字列を抽出する

Linuxでは、awkコマンドを使用して文字列を取得できます。awkコマンドの構文は次のとおりです。

awk 'BEGIN { action } pattern { action } END { action }' file

awkコマンドでは文字列を取得するいくつかの方法があります。以下に一般的な方法を示します。

  1. 文字列の一部を抽出する substr 関数を使用します。例えば、先頭から 5 文字の文字列を抽出する場合、
echo "Hello, World!" | awk '{ print substr($0, 1, 5) }'

ハロー

  1. カンマ区切りの文字列を配列に分割する split 関数を使用し、配列の特定の要素を取り出します。例えば、カンマ区切りの文字列の 2 番目の要素を取得します。
echo "John,Doe,37" | awk 'BEGIN { FS = "," } { split($0, arr, FS); print arr[2] }'

結果はDoeとなります

  1. 正規表現を使用して文字列を照合および抽出します。たとえば、数字を含む文字列の数字の部分を抽出します。
echo "abc123def" | awk '{ match($0, /[0-9]+/); print substr($0, RSTART, RLENGTH) }'

結果を出力する:123

上記は単なる awk による文字列抽出の例であり、実際のニーズに合わせて調整や拡張を行うことができます。

bannerAds