linux命令wc输出格式

时间:2011-04-25 12:49:25

标签: linux command format wc

我需要编写一个完全模仿linux命令wc的perl(包括特别是输出格式),虽然已经实现了功能,wc的输出真的很头疼,似乎它一直在变化,以下是几个例子(我将使用□来表示空格字符)
1. wc test_input_1□□705673□□4234032□26754553□test_input_1
2. wc test_input_2□14□□79□581□test_input_2
3. wc test_input_2 -w79□test_input_2
4. wc test_input_2 -wc□79□581□test_input_2
5. cat test_input_2 | wc□□□□□14□□□□□□79□□□□□581
6. cat test_input_2 | wc -w79
7. cat test_input_2 | wc -wc□□□□□79□□□□□581

有谁知道wc如何格式化其输出?感谢任何帮助,非常感谢。

3 个答案:

答案 0 :(得分:1)

开始
$ info wc

信息页面简要介绍了输出格式。如果这不足以让您使用,请抓住coreutils source并阅读wc的源代码。

答案 1 :(得分:1)

The Open Group specification for wc指定确切的输出格式。格式字符串中有空格的空格数量并不重要(参见File Format Notation)。

从历史上看,这些数字通常被格式化为占据七列,不包括它们之间的空间(一些历史性的不良实现包含七列中的空间,以一种方式实现输出当字符数超过六位时格式不明确)。您的某些输出行似乎是根据显示的最大数字中的列数进行格式设置,其他输出行似乎使用了7列。

答案 2 :(得分:0)

如果您是从搜索引擎来的,这是因为默认情况下wc会打印出哪些数字,因为您不知道如何解释其输出,并且烦恼了所有其他答案,只会导致您输入man / info您实际上需要阅读的页面和其他资源,这是您快速的Stackoverflow时刻,使您摆脱痛苦:

正如@ converter42所建议的,

info wc在隐藏的地方进行了解释:

默认情况下,“ wc”打印三个计数:换行符,单词和字节 计数。

FYI还在{em>说明的开头就以一种微妙的方式{@ 1}提及它:

为每个文件打印换行符,单词和字节数,如果指定了多个文件,则打印总行。

例如:

man wc

= 2(新)行 3个字 12个字节