Awk
更改 uniq -c 命令的格式
我想從文件中獲取唯一單詞及其計數。當我執行以下命令時,
sort words.txt | uniq -c 2 america 4 and 1 england 1 file 1 for 1 place
但我想要以下格式的輸出
america,2 and,4 england,1 file,1 for,1 place,1
我的輸入文件大約是 30-40Gb。那麼以這種格式列印輸出的最佳方法是什麼?
awk
您可以在命令末尾添加一行。例如,sort words.txt | uniq -c | awk '{print $2","$1}'
基本上,它採用第二列並將其放在第一列之前,同時用逗號分隔。我不知道在 30-40Gb 文件上執行它有多貴。
我們可以用 awk 本身做…
試試下面,
awk '{j[$0]++} END {for (i in j) print i","j[i]}' words.txt