これはファイルの一部です
N W N N N N N N N N N
N C N N N N N N N N N
N A N N N N N N N N N
N N N N N N N N N N N
N G N N N N N N N N N
N C N N N C N N N N N
N C C N N N N N N N N
各行で「N」以外のすべての文字の総数を計算したいと思います。
私の願い出力
1
1
1
0
1
2
2
答え1
牛に似た一種の栄養アッ解決策:
awk -v FPAT='[^N[:space:]]' '{ print NF }' file
FPAT='[^N[:space:]]'
- フィールド値のパターンを定義します(N
文字とスペースを除くすべての文字)。
予想出力:
1
1
1
0
1
2
2
答え2
awk '{ gsub("[ N]",""); print length() }'
答え3
別のawk
方法(返却-1空行の場合)。
awk -F'[^N ]' '$0=NF-1""' infile
または複雑な場合は返されます。-1空行に、0空(タブ/スペース)行にのみ適用されます。
awk -F'[^N \t]+' '$0=NF-1""' infile
答え4
選ぶアッ解決策:
awk '{ print gsub(/[^N[:space:]]/,"") }' file
gsub(...)
- このgsub()
関数は置換が行われた回数を返します。
出力:
1
1
1
0
1
2
2