awkの正規表現で先頭と語尾を表現

スポンサーリンク

^:先頭、$:語尾

※awkの使い方をまとめて一覧にしました。
参考:awk入門-使い方まとめ一覧-

^:先頭、$:語尾を表現します。

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

$ cat in.txt 
babc
aaaabc
aaaab

^a.*c$は、先頭がa、語尾がcを表現できるので、
aaaabc が該当します。

^a:先頭がa
.*:0文字以上の文字列
c$:語尾がc

参考:awkの正規表現で任意の文字列を表現

スポンサーリンク

サンプルコード

下記がサンプルコードになります。

$ cat sample.sh 
#!/bin/sh

cat in.txt | awk '
    {
        match($0, /^a.*c$/)
        print substr($0, RSTART, RLENGTH)
    }
'

下記が実行結果になります。
$ ./sample.sh 

aaaabc

スポンサーリンク