awk 中的计数
#!/bin/sh
find ${*-.} -type f -print | xargs file |
awk '{
$1=NULL;
t[$0]++;
}
end {
for (i in t) printf("%d\t%s\n", t[i], i);
}' | sort -nr
第一个“查找”行有效。但 awk 部分不起作用。我希望文件类型的数量按降序排序。
#!/bin/sh
find ${*-.} -type f -print | xargs file |
awk '{
$1=NULL;
t[$0]++;
}
end {
for (i in t) printf("%d\t%s\n", t[i], i);
}' | sort -nr
The first "find" line works. But the awk part does not work. I expect the count of file types sorted in descending order.
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
awk 区分大小写 - “end”应该是“END”
awk is case sensitive - "end" should be "END"
使用
END
,而不是end
。Use
END
, notend
.尝试在勾号和
{
之间添加空格:某些版本的 AWK 需要这样做。
Try to add a blank between the tick and the
{
:Some versions of AWK need this.