0
我需要總結大標籤=分隔文件中一列的頻率。使用命令行解析一列的頻率
一個例子是:
abbot achievement 1
abbot acknowledge 2
abbot acknowledge 2
abbot acknowledge 3
abbot acquaintance 1
abbot acquire 2
abbot acquisition 2
abbot acre 1
abbot acre 4
abbot act 1
abbot act 4
abbot act 3
abbot act 8
abbot act 5
abbot act 7
abbot act 8
abbot action 2
abbot active 4
我要總結的那些列1 & 2是對最終結果相同的頻率:
abbot achievement 1
abbot acknowledge 7
abbot acquaintance 1
abbot acquire 2
abbot acquisition 2
abbot acre 5
abbot act 36
abbot action 2
abbot active 4
我已要求一個類似的問題here: 並使用以下命令: $ sort input.txt | uniq -c | awk'{print $ 2'\ t「$ 3」\ t「$ 1 * $ 4}''
但這並不能解決問題,因爲例如sort函數只會將所有三列相同,從所有三列中添加新的第一列和總計頻率。
任何人都可以建議對此命令的修改,將產生我想要的結果? 或者也許建議一個更好的途徑來解決這個問題?
是,這並不工作,但是,它改變空間的每一列的標籤。是否可以修改此打印以保留列之間的製表符空格,還是需要在之後完成? – owwoow14
將'FS'改爲'「\ t」',並在'abbot'和下一個字段之間得到標籤。要在每個添加了'OFS =「\ t」'的地方獲得標籤,就像這樣:'awk'{a [$ 1「\ t」$ 2] + = $ 3} END {for(in a)print i,a [i]} 'OFS =「\ t」' – Jotne