Bash 难以理解AWK语法
因此,我承认我对AWK完全陌生,不知道如何使用它,但我正试图从GNU AWK用户指南中提取一个代码示例Bash 难以理解AWK语法,bash,csv,awk,Bash,Csv,Awk,因此,我承认我对AWK完全陌生,不知道如何使用它,但我正试图从GNU AWK用户指南中提取一个代码示例 { for (i = 1; i <= NF; i++) freq[$i]++ } END { for (word in freq) printf "%s\t%d\n", word, freq[word] } 我重新组织并修复了: function produce_numbers(sortedarray) {
{
for (i = 1; i <= NF; i++)
freq[$i]++
}
END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}
我重新组织并修复了:
function produce_numbers(sortedarray)
{
n = asort(sortedarray)
# sum = 0 # not used
for(i = 1; i <= n; i++)
{
freq[sortedarray[i]]++ # $i is unusable at this point
}
return
}
{
data[++data_index] = $0
}
END {
produce_numbers(data)
for(i in freq)
printf("%s\t%d\n", i, freq[i]) # added newline to output
}
我重新组织并修复了:
function produce_numbers(sortedarray)
{
n = asort(sortedarray)
# sum = 0 # not used
for(i = 1; i <= n; i++)
{
freq[sortedarray[i]]++ # $i is unusable at this point
}
return
}
{
data[++data_index] = $0
}
END {
produce_numbers(data)
for(i in freq)
printf("%s\t%d\n", i, freq[i]) # added newline to output
}
那该怎么办,即预期的产量是多少?你可能也想看看这个:它应该做什么,即预期的输出是什么?您可能还想检查一下这个:
function produce_numbers(sortedarray)
{
n = asort(sortedarray)
# sum = 0 # not used
for(i = 1; i <= n; i++)
{
freq[sortedarray[i]]++ # $i is unusable at this point
}
return
}
{
data[++data_index] = $0
}
END {
produce_numbers(data)
for(i in freq)
printf("%s\t%d\n", i, freq[i]) # added newline to output
}
A 3
B 2
C 2
D 1