簡體   English   中英

awk中每列的特殊字符計數

[英]Count of Special Characters by each column in awk

我下面有一個以逗號分隔的3列文件

101,daf*s,HJ
102*,dft,GH*
103,hh*f,FF
10*J,ff*H,P

我想按每一列計算*的數量,並希望使用awk輸出如下所示的內容

Column 1:2
Column 2:3
Column 3:1

並且如果可能的話,我想使代碼盡可能地動態,從某種意義上說,如果列數也發生變化,則代碼應該能夠按每列打印*的計數。

使用awk

awk -F, '{
    for (i=1; i<=NF; i++) a[i]+=gsub(/[*]/, "", $i)
}
END {
    for (i=1; i in a; i++) print "Column "i":"a[i]+0
}' file
Column 1:2
Column 2:3
Column 3:1

設置字段分隔符, 遍歷列,並使用gsub函數捕獲每列的返回值,並繼續添加到數組中。

END塊中,遍歷列數並打印輸出。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM