awkの正規表現で先頭と語尾を表現
^:先頭、$:語尾
^:先頭、$:語尾を表現します。
例えば、下記のin.txtがあったとします。
$ cat in.txt babc aaaabc aaaab
^a.*c$は、先頭がa、語尾がcを表現できるので、
aaaabc が該当します。
^a:先頭がa
.*:0文字以上の文字列
c$:語尾がc
サンプルコード
下記がサンプルコードになります。
$ cat sample.sh #!/bin/sh cat in.txt | awk ' { match($0, /^a.*c$/) print substr($0, RSTART, RLENGTH) } '
下記が実行結果になります。
$ ./sample.sh aaaabc