スポンサーリンク

「.」:任意の文字列を表現

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

「.」で任意の文字列を表現できます。

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

$ cat in.txt 
bc
aaaabc
bbbbbc

".bc"だと、
abc
bbc

"..bc"だと、
aabc
bbbc

繰り返し表現と任意の文字列を組み合わせてみます。
参考:awkの正規表現で繰り返しを表現

".*bc"だと、
bc
aaaabc
bbbbbc

*は0回以上の表現となるため、bcもマッチしますね。

".+bc"だと、
aaaabc
bbbbbc

*は1回以上の表現となるため、bcはマッチしません。

スポンサーリンク

サンプルコード

参考:awkで正規表現にマッチした文字列を抽出して表示

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

$ cat sample.sh 
#!/bin/sh

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

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

abc
bbc

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

$ cat sample2.sh 
#!/bin/sh

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

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

aabc
bbbc

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

#!/bin/sh

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

下記が実行結果になります。
$ ./sample3.sh 
bc
aaaabc
bbbbbc

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

$ cat sample4.sh 
#!/bin/sh

cat in.txt | awk '
    {
        match($0, /.+bc/)
        print substr($0, RSTART, RLENGTH)
    }
'

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

aaaabc
bbbbbc

スポンサーリンク