当我在 OSX 终端中运行字数统计命令时,wc -c file.txt我得到以下答案,其中包含答案之前填充的空格。有谁知道为什么会发生这种情况,或者我该如何防止它?
18000 file.txt
Run Code Online (Sandbox Code Playgroud)
我期望得到:
18000 file.txt
Run Code Online (Sandbox Code Playgroud)
这是使用 bash 或 bourne shell 发生的。
POSIX 标准wc可能被解读为暗示没有前导空格,但并没有明确说明。标准就是这样。
它是这样说的:
默认情况下,标准输出应包含以下形式的每个输入文件的条目:
"%d %d %d %s\n", <newlines>, <words>, <bytes>, <file>
Run Code Online (Sandbox Code Playgroud)
并且没有提及单列选项的格式,例如-c.
快速检查显示,AIX、OSX、Solaris 使用一种指定值位数的格式 — 来对齐列(并且位数不同)。HPUX 和 Linux 没有。
所以这只是一个实现细节。
我想这是一种让输出很好地排列的方法,据我所知,没有 wc 选项可以微调输出格式。
sed 's/^ *//'例如,您可以通过管道轻松地摆脱它们。
可能有一个更简单的解决方案,具体取决于您想要摆脱它们的原因。