linux命令wc输出格式

linux命令wc输出格式,linux,command,format,wc,Linux,Command,Format,Wc,我需要编写一个完全模仿linux命令wc的perl(包括,尤其是输出格式),在实现了该功能后,wc的输出确实令人头痛,它似乎一直在变化,下面是几个示例(我将使用□ 表示空格字符) 1. wc测试\输入\ 1⇒ □□705673□□4234032□26754553□测试输入1 2. wc测试\输入\ 2⇒ □14□□79□581□测试输入2 3. wc测试\u输入\u 2-w⇒ 79□测试输入2 4. wc测试\输入\ 2-wc⇒ □79□581□测试输入2 5. cat测试\输入\ wc⇒ □□

我需要编写一个完全模仿linux命令
wc
的perl(包括,尤其是输出格式),在实现了该功能后,
wc
的输出确实令人头痛,它似乎一直在变化,下面是几个示例(我将使用□ 表示空格字符)
1. <代码>wc测试\输入\ 1⇒ <代码>□□705673□□4234032□26754553□测试输入1
2. <代码>wc测试\输入\ 2⇒ <代码>□14□□79□581□测试输入2
3. <代码>wc测试\u输入\u 2-w⇒ <代码>79□测试输入2
4. <代码>wc测试\输入\ 2-wc⇒ <代码>□79□581□测试输入2
5. <代码>cat测试\输入\ wc⇒ <代码>□□□□□14□□□□□□79□□□□□581
6. <代码>cat测试输入2 | wc-w⇒ <代码>79
7. <代码>cat测试_输入| wc-wc⇒ <代码>□□□□□79□□□□□581

有人知道wc是如何格式化输出的吗?非常感谢您的帮助,非常感谢

$ info wc
信息页面给出了输出格式的简要说明。如果这还不足以让您使用,请抓取并阅读wc的源代码。

指定确切的输出格式。格式字符串中有空格的空格数并不重要(请参阅)

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

如果您(从搜索引擎)来到这里当你不知道如何解释wc的输出并对其他答案感到恼火时,要找到默认打印出来的数字,
wc
,所有其他答案只会引导你进入手册/信息页和其他你实际需要阅读的资源,这里是你的快速堆叠溢出时刻,让你从悲伤中解脱出来:

info-wc
,正如@converter42所建议的,解释了它隐藏在什么地方:

默认情况下,“wc”打印三个计数:换行、字和字节 很重要

仅供参考
man wc
在描述的开头以一种微妙的方式对其进行说明:

打印每个文件的换行、字和字节计数,如果指定了多个文件,则打印总行数

例如:

$wc
abc def
xyz
[Ctrl+D]2 3 12

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

看起来它只会在知道文件名时输出文件名。什么这么复杂?你为什么要模仿这一点,而不仅仅是
exec
ing
wc
?谢谢你的回答,我很感激。