我正在尝试收集有关文件中每个单独值的出现次数的信息。我想输出该值、它在整个文件中出现的次数,并计算每个值在字段分隔符之间出现的次数:"---"
输入:
textfile.txt
输出:
indexed_value - 50 - 12
我已经开始使用 [gnu.org 上的这个程序][1] 来索引一个值并对其频率求和,但无法进一步进行。
使用旧版本的 mawk。
awk '{
for (i = 1; i <= NF; i++)
freq[$i]++
}END {
for (word in freq)
printf "%s\t%d\n", word, freq[word]
}' ./dir/file.txt | sort -f
哪个输出
indexed_value - 50
用于跟踪字段数量:
awk -F "___" '
{ count[NF]++ }
END{
for(num in count)
printf("%s\t%d\n", num, count[num])
}'
输出:
number of fields separated by --- 22
number of new lines 323
我只需要用指定的字段分隔符分隔的数字。如何将这两个命令合二为一?
答案1
假设以下变量:
字母:t
文件名:终端
字段分隔符:p
以下命令将为您提供您所要求的一切,而无需使用 mawk:
echo " t - $(grep -oi t 终端 | wc -l) - $(grep -it*p 终端 | wc -l)"
如果要使其区分大小写,请从 grep 命令中删除“i”标志。