Pau*_*ce. 96
这样做:
wc -c filename
Run Code Online (Sandbox Code Playgroud)
如果只想在输出中重复没有文件名的计数:
wc -c < filename
Run Code Online (Sandbox Code Playgroud)
编辑:
使用-m数字符而不是字节(如图塞巴斯蒂安的答案).
Séb*_*nec 23
#!/bin/sh
wc -m $1 | awk '{print $1}'
Run Code Online (Sandbox Code Playgroud)
wc -m计算字符数; 该awk命令仅打印字符数,省略文件名.
wc -c 会给你字节数(可以与字符数不同,因为根据编码你可能有几个字节编码的字符).
要获得字符串的准确字符数,请使用 printf,而不是 echo、cat 或直接在文件上运行 wc -c,因为使用 echo、cat 等会计算换行符,这将为您提供字符数,包括换行符。因此,如果您使用 echo 等,带有文本“hello”的文件将打印 6,但如果您使用 printf 它将返回精确的 5,因为没有换行元素可计数。
如何使用 printf 计算字符串中的字符数:
$printf '6chars' | wc -m
6
Run Code Online (Sandbox Code Playgroud)
要将其转换为可以在文本文件上运行以计算字符数的脚本,请将以下内容保存在名为 print-character-amount.sh 的文件中:
#!/bin/bash
characters=$(cat "$1")
printf "$characters" | wc -m
Run Code Online (Sandbox Code Playgroud)
chmod +x 在包含上述文本的文件 print-character-amount.sh 上,将该文件放置在您的 PATH 中(即 /usr/bin/ 或在 .bashrc 文件中导出为 PATH 的任何目录),然后在文本文件类型上运行脚本:
print-character-amount.sh file-to-count-characters-of.txt
Run Code Online (Sandbox Code Playgroud)