スポンサーリンク

gsub()を組み合わせて、特定の文字列以降を抽出する

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

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

スポンサーリンク