スポンサーリンク

awkのmatch()関数の使い方

下記の形式でmatch()を書きます。
対象文字列を先頭から検索し、検索対象が検出された最初の位置を戻り値として返します。

match(対象文字列, 検索対象)
※検索対象は正規表現で指定できる。

スポンサーリンク

match()関数の戻り値

awkのmatch()関数の戻り値は、検索対象が検出された最初の位置を戻り値として返します。
例えば、下記のようにin.txtがあったとします。

下記のように、match()関数で"1"が検出された最初の位置をprint出力します。

下記が実行結果となります。"1"が登場した最初の位置が出力できています。

match()関数の検索対象は正規表現で指定できる

awkのmatch()関数は、正規表現で検索対象を指定できます。
例えば、下記のようにin.txtがあったとします。

検索対象には正規表現で、/[1-9]/ と指定し、1~9の数字が検出された最初の位置をprint出力します。

下記が実行結果となります。1~9の数字が検出された最初の位置をprint出力されているのが確認できます。

match()関数を使うと組み込み変数に値が設定される

awkには、RSTART と RLENGTH の組み込み変数が用意されています。
match()関数を実行すると、
RSTARTには、検索対象が検出された最初の位置が、
RLENGTHには、検索対象が検索された文字列の長さが格納されます。

例えば、下記のようにin.txtがあったとします。

RSTARTとRLENGTHを下記のようにセットします。

下記が実行結果です。

match()関数とsubstr()関数で文字列を切り出す

awkのmatch()関数で指定した検索対象を、substr()で切り出すこともできます。
先述のRSTARTとRLENGTHの組み込み変数を使います。

例えば、下記のようにin.txtがあったとします。

substr()にRSTART/RLENGTHを下記のようにセットします。

下記が実行結果になります。

エンジニアのスキルを活かして、理想の働き方を求めていこう

エンジニアとして新しい働き方を求める方へ、MIDWORKS

MIDWORKSは、週3日から可能な案件も紹介していて、フレキシブルな働き方を求めるにとってはおすすめです。

MIDWORKS

MIDWORKSでは、万が一仕事が途切れてしまった場合の給与保証制度があります。 給与保証制度を適用している場合は、仕事が見つからなかった時に月額契約単価の80%を日割りで受け取ることができます。
安定した収入を求めるフリーランスにとっては、安心して案件を探すことができると言えます。

MIDWORKSに無料会員登録する

開発言語に応じた案件を探すことができるので、 自身のスキルアップの機会として、案件を探すのも有効な手だと思います。

スポンサーリンク