我有一个相当简单的问题。在file1
中,我想计算每行存在多少H
,计算总和,并将计数和行号打印为相同或不同文件末尾的两列。
输入:
h1 h2 h3 h4
A H H B
B H C H
A A A H
期望的输出:
h1 h2 h3 h4 count rowid
A H H B 2 1
B H C H 2 2
A A A H 1 3
这是我到目前为止所拥有的:
awk -F'\t' 'BEGIN{print $0 "count", "rowid"} {print gsub(/H/,"") FS NR}' file1.txt >out.txt
我的错误在哪里以及如何更改以使其有效?
答案 0 :(得分:1)
awk
救援!
$ awk 'NR==1{print $0, "count", "rowid"; next}
{print $0, gsub("H","H"), NR-1}' file |
column -t
h1 h2 h3 h4 count rowid
A H H B 2 1
B H C H 2 2
A A A H 1 3