所以我输出的文本在一列中有http状态代码,在另一列中有ip地址。我不想按出现次数对此进行排序,以便
4 4 4 1 1 2 3 5
看起来像
uniq
这是第二列状态代码,ip地址不需要按任何特定顺序排序
因为4是最常见的,所以它应该是第一个,然后是1,依此类推。
然而,我所能找到的只是如何使用sort
来计算出现次数,从而删除重复项并为每行添加一个数字前缀。
就我所知,常规 public void Put(string key, object value)
{
for (var i = 0; i < getArray.Length; ++i)
{
if (getArray[i] == null || getArray[i].key == key)
{
getArray[i] = new Paar(key, value);
break;
}
if(i == getArray.Length - 1)
throw new Exception("All slots full");
}
}
命令不支持此功能。
任何帮助将不胜感激
答案 0 :(得分:0)
您仍然可以使用sort | uniq -c
,然后通过循环打印给定次数来解释出现次数:
tr ' ' '\n' < file \
| sort | uniq -c | sort -k1,1nr -k2n \
| while read times status ; do
for i in $(seq 1 $times); do
printf '%s ' $status
done
done