Bash:以人类可读格式输出来自wc的行数

时间:2015-05-12 14:25:36

标签: macos bash wc

这可能吗?做 wc 直接的方式我必须花费一些精力才能看到​​该文件包含超过4000万行:

$ wc -l 20150210.txt 
    45614736 20150210.txt

我在周围搜索并且 numfmt 出现了,但显然在OSX上没有(在 brew 上)。那么在OSX上有一个简单的方法吗?感谢。

1 个答案:

答案 0 :(得分:6)

如果您有POSIX printf,则可以使用%'d

printf "%'d\n" $(wc -l < file )

来自man printf

  

<强>

     

对于十进制转换(i,d,u,f,F,g,G),输出为   如果是区域设置信息,则将数千个分组字符分组   表示任何。请注意,许多版本的gcc(1)无法解析此问题   选项并将发出警告。 SUSv2不包含%'F

测试

$ seq 100000 > a
$ printf "%'d\n" $(wc -l <a )
100,000

还要注意获取没有文件名的数字的技巧wc -l < file