计算每个列出的文件名的字符数

Fab*_*cio 6 ls wc

鉴于以下 ls 结果:

$ ls
Desktop  Documents  Downloads  Music  Pictures  Public  Templates  Videos
Run Code Online (Sandbox Code Playgroud)

这将给出所有文件的总字符数:

$ ls | wc -m
67
Run Code Online (Sandbox Code Playgroud)

但是如何计算每个文件名的字符数?对于同一个文件列表,我所追求的结果是这样的:

8
10
10
6
etc...
Run Code Online (Sandbox Code Playgroud)

phe*_*mer 6

这可以在一个非常简单的 shell 脚本中完成:

for file in *; do echo -n "$file" | wc -m; done
Run Code Online (Sandbox Code Playgroud)

只需循环每个文件,将名称回显到wc. 该-necho是如此,它不追加换行符,这将由1错误地增加计数。


gle*_*man 5

您不需要调用wcbash 完全有能力:${#var}是 $var 值的长度。

for f in *; do echo ${#f}; done
Run Code Online (Sandbox Code Playgroud)

参考