awkを使って数字FNを見つけます。

awkを使って数字FNを見つけます。

次の列が複数ある文書があります。

,Flag2,,Flag4,Flag5,,,,,Flag10,Flag11,Flag12,Flag13

awkを使用してフィールドの総数と区切り文字を確認すると、,結果は次のようになります。

Flag10のフィールド番号を取得するには、結果は次のようになります。 10

awkを使ってこれを行うにはどうすればよいですか?

ベストアンサー1

以下のようにすればいいです。

awk -F, '{for(i=1;i<=NF;i++)if($i=="Flag10")print i}' file

例:

$ echo ',Flag2,,Flag4,Flag5,,,,,Flag10,Flag11,Flag12,Flag13' | awk -F, '{for(i=1;i<=NF;i++)if($i=="Flag10")print i}'
10

おすすめ記事