gsub()を組み合わせて、特定の文字列以降を抽出する
gsub()で、先頭からマッチした文字列までを残すように置換します。
参考:awkのsub()で文字列置換する
例えば、下記の文字列の場合は、先頭からawkの文字列をawkに置換します。
すると、awkより前の文字列が削除されます。
awk以降の文字列が残ることになります。
1awkfind
gsub()を使うと、下記のように書けます。
sub(/.*awk/, "awk", $2)
サンプルコード
例えば、下記のin.txtがあったとします。
$ cat in.txt 2018,1awkfind 2019,2awkls 2020,3awkgrep
下記がサンプルコードになります。
$ cat sample.awk #!/bin/sh cat in.txt | awk ' BEGIN{ FS = "," } { sub(/.*awk/, "awk", $2) print $2 } '
下記が実行結果になります。
$ ./sample.awk awkfind awkls awkgrep