このファイルがあります。
a deiauk Biking US 200 G
b kespaul 202 A
c deiauk NY 222 5 Z
を使用して正確な文字列200を一致させたいと思いますawk
。だから私の結果は
a deiauk Biking US 200 G
これは私のコードです
awk -F ' ' '{if($(NF-1) ~ /200/){a[$1]++}}END{for (var in a){print a[var] " " var " " $(NF-1)}}' file.txt
しかしその後、私はすべての代謝を得ました。
ベストアンサー1
正確な一致が必要なので、使用しませんか==
?
$ cat >file
a deiauk Biking US 200 G
b kespaul 202 A
c deiauk NY 222 5 Z
a auie auie 200 B
b nrst nrst 200 C
$ awk '$(NF-1)==200{a[$1]++}END{for (v in a){print v,a[v]}}' file
a 2
b 1
次の方法で一致を制限することもできます/^200$/
。
$ awk '$(NF-1)~/^200$/{a[$1]++}END{for (v in a){print v,a[v]}}' file
a 2
b 1
編集する:
私はあなたのコマンドを試してみました。あなたのものは確実ですか-F ' '
?